swagger: "2.0"
schemes:
  - https
host: api.runscope.com
basePath: /
info:
  description: Manage Runscope programmatically.
  title: Runscope API
  version: 1.0.0
  x-apisguru-categories:
    - developer_tools
  x-logo:
    backgroundColor: "#FFFFFF"
    url: https://pbs.twimg.com/profile_images/500425058955689986/zlcbgqTt.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Runscope/runscope-api-examples/master/schemas/runscope-swagger-v2.json
      version: "2.0"
  x-providerName: runscope.com
produces:
  - application/json
securityDefinitions:
  runscope_auth:
    authorizationUrl: https://www.runscope.com/signin/oauth/authorize
    flow: accessCode
    scopes:
      account:email: Allows you to read the email addresses of user accounts.
      api:read: Default read access.
      bucket:auth_token: Allows you to read all bucket information, including Authenticated Buckets.
      bucket:write: Allows you to create new buckets on behalf of the user (up to their plan limit).
      message:write: Allows you to create new messages on behalf of the user (up to their plan limit).
      team:read: Allows you to read team details such as lists of team members and external service integrations.
      test:read: Allows you to read the details of API tests.
      test:write: Allows you to create, update and delete details of API tests.
    tokenUrl: https://www.runscope.com/signin/oauth/access_token
    type: oauth2
security:
  - runscope_auth:
      - api:read
parameters:
  bucketKey:
    description: Unique identifier for a bucket
    in: path
    name: bucketKey
    required: true
    type: string
  environmentId:
    description: Unique identifier for a test environment
    in: path
    name: environmentId
    required: true
    type: string
  stepId:
    description: Unique identifier for a test step
    in: path
    name: stepId
    required: true
    type: string
  teamId:
    description: Unique identifier for team
    in: path
    name: teamId
    required: true
    type: string
  testId:
    description: Unique identifier for a test
    in: path
    name: testId
    required: true
    type: string
responses:
  Standard400Response:
    description: Invalid request.
    schema:
      $ref: "#/definitions/StandardError"
  Standard403Response:
    description: Invalid or missing Authorization header
    schema:
      $ref: "#/definitions/StandardError"
  UnexpectedError:
    description: Unexpected error
    schema:
      $ref: "#/definitions/Error"
paths:
  /account:
    get:
      description: Information about the authorized account.
      responses:
        "200":
          description: Account owner and team information.
          schema:
            properties:
              data:
                $ref: "#/definitions/Account"
              meta:
                $ref: "#/definitions/Meta"
            type: object
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - account:email
      summary: Account Resource
      tags:
        - Account
  /buckets:
    get:
      responses:
        "200":
          description: List of buckets associated with this authenticated account.
          schema:
            properties:
              data:
                items:
                  $ref: "#/definitions/Bucket"
                type: array
              meta:
                $ref: "#/definitions/Meta"
            type: object
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
        - runscope_auth:
            - api:read
            - bucket:auth_token
      summary: Returns a list of buckets.
      tags:
        - Buckets
    post:
      parameters:
        - in: body
          name: NewBucket
          required: true
          schema:
            $ref: "#/definitions/NewBucket"
      responses:
        "200":
          description: Bucket details.
          schema:
            $ref: "#/definitions/Bucket"
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - bucket:write
      summary: Create a new bucket
      tags:
        - Buckets
  "/buckets/{bucketKey}":
    delete:
      parameters:
        - $ref: "#/parameters/bucketKey"
      responses:
        "204":
          description: No content with no body.
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - bucket:write
      summary: Delete a single bucket resource.
      tags:
        - Buckets
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
      responses:
        "200":
          description: Bucket details.
          schema:
            $ref: "#/definitions/Bucket"
        default:
          $ref: "#/responses/UnexpectedError"
      summary: Returns a single bucket resource.
      tags:
        - Buckets
  "/buckets/{bucketKey}/environments":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
      responses:
        "200":
          description: List of shared environments belonging to this bucket.
      security:
        - runscope_auth:
            - api:read
            - test:read
      summary: Returns list of shared environments for a specified bucket.
      tags:
        - Shared Environments
    post:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - in: body
          name: NewEnvironment
          required: true
          schema:
            $ref: "#/definitions/Environment"
      responses:
        "201":
          description: Details of the new test environment.
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Create new shared environment.
      tags:
        - Shared Environments
  "/buckets/{bucketKey}/environments/{environmentId}":
    put:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/environmentId"
        - in: body
          name: ModifiedEnvironment
          required: true
          schema:
            $ref: "#/definitions/Environment"
      responses:
        "201":
          description: Details of the modified test environment.
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Update the details of a shared environment.
      tags:
        - Shared Environments
  "/buckets/{bucketKey}/errors":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - description: Maxiumum number of messages to return. Default 50, max 1000.
          in: query
          name: count
          type: integer
        - description: Only return messages after the given Unix timestamp
          in: query
          name: since
          type: integer
        - description: Only return messages before the given Unix timestamp
          in: query
          name: before
          type: integer
      responses:
        "200":
          description: List of error messages in a bucket
        default:
          $ref: "#/responses/UnexpectedError"
      summary: Retrieve a list of error messages in a bucket
      tags:
        - Messages
  "/buckets/{bucketKey}/messages":
    delete:
      parameters:
        - $ref: "#/parameters/bucketKey"
      responses:
        "204":
          description: No content with no body.
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - message:write
      summary: Clear a bucket (remove all messages).
      tags:
        - Messages
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - description: Maxiumum number of messages to return. Default 50, max 1000.
          in: query
          name: count
          type: integer
        - description: Only return messages after the given Unix timestamp
          in: query
          name: since
          type: integer
        - description: Only return messages before the given Unix timestamp
          in: query
          name: before
          type: integer
      responses:
        "200":
          description: List of messages in a bucket
        default:
          $ref: "#/responses/UnexpectedError"
      summary: Retrieve a list of messages in a bucket
      tags:
        - Messages
    post:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - in: body
          name: NewMessage
          required: true
          schema:
            $ref: "#/definitions/NewMessage"
      responses:
        "200":
          description: The response includes a list of result objects for the message(s) submitted. It will always return an array, even if only one message was created. The order of the result objects corresponds to the order of messages submitted.
          schema:
            properties:
              data:
                items:
                  properties:
                    error:
                      description: An object representing errors for this item. Only present if status is error, otherwise this will be null.
                      properties:
                        code:
                          description: A numeric error code for the specific problem we encountered with this message. (error status only)
                          type: integer
                        message:
                          description: A description of the problem we encountered with this message. (error status only)
                          type: string
                        more_info:
                          description: A link to more help about the warning. (error status only)
                          type: string
                      type: object
                    status:
                      description: "One of the following: success, error, or warning."
                      type: string
                    unique_identifier:
                      description: If the message had a unique_identifier, it will be returned in this field, to help match the responses to the messages that were submitted.
                      type: string
                    uuid:
                      description: This message's Runscope-generated ID.
                      type: string
                    warning:
                      description: An object representing warnings (non-fatal warnings) for this item. Only present if status is warning, otherwise this will be null.
                      properties:
                        code:
                          description: A numeric error code for the specific problem we encountered with this message. (warning status only)
                          type: integer
                        message:
                          description: A description of the problem we encountered with this message. (warning status only)
                          type: string
                        more_info:
                          description: A link to more help about the warning. (warning status only)
                          type: string
                      type: object
                type: array
              meta:
                properties:
                  error_count:
                    type: integer
                  succcess_count:
                    type: integer
                  warning_count:
                    type: integer
                type: object
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - message:write
      summary: Create a message
      tags:
        - Messages
  "/buckets/{bucketKey}/messages/{messageId}":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - description: The unique identifier for this message
          in: path
          name: messageId
          required: true
          type: string
      responses:
        "200":
          description: List of messages in a bucket
        default:
          $ref: "#/responses/UnexpectedError"
      summary: Retrieve the details for a single message.
      tags:
        - Messages
  "/buckets/{bucketKey}/tests":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
      responses:
        "200":
          description: List of tests for this bucket
          schema:
            properties:
              data:
                items:
                  $ref: "#/definitions/Test"
                type: array
              meta:
                $ref: "#/definitions/Meta"
      security:
        - runscope_auth:
            - api:read
            - test:read
      summary: Returns a list of tests.
      tags:
        - Tests
    post:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - in: body
          name: NewTest
          required: true
          schema:
            $ref: "#/definitions/Test"
      responses:
        "200":
          description: List of tests for this bucket
          schema:
            properties:
              data:
                items:
                  $ref: "#/definitions/Test"
                type: array
              meta:
                $ref: "#/definitions/Meta"
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Create a test.
      tags:
        - Tests
  "/buckets/{bucketKey}/tests/{testId}":
    delete:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
      responses:
        "204":
          description: No content with no body.
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Delete a test, including all steps, schedules, test-specific environments and results.
      tags:
        - Tests
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
      responses:
        "200":
          description: Returns an object with the details of the given test.
          schema:
            $ref: "#/definitions/TestDetail"
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - test:read
      summary: Retrieve the details of a given test by ID.
      tags:
        - Tests
    put:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
      responses:
        "201":
          description: Returns 201 and the updated test's JSON description if the test is successfully updated.
          schema:
            $ref: "#/definitions/TestDetail"
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Modify a test's name, description, default environment and its steps. To modify other individual properties of a test, make requests to the steps, environments, and schedules subresources of the test.
      tags:
        - Tests
  "/buckets/{bucketKey}/tests/{testId}/environments":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
      responses:
        "200":
          description: List of environments belonging to this test.
          schema:
            properties:
              data:
                items:
                  $ref: "#/definitions/Environment"
                type: array
              meta:
                $ref: "#/definitions/Meta"
      security:
        - runscope_auth:
            - api:read
            - test:read
      summary: Return details of the test's environments (only those that belong to the specified test)
      tags:
        - Test Environments
    post:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
        - in: body
          name: NewEnvironment
          required: true
          schema:
            $ref: "#/definitions/Environment"
      responses:
        "201":
          description: Details of the new test environment.
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Create new test environment.
      tags:
        - Test Environments
  "/buckets/{bucketKey}/tests/{testId}/environments/{environmentId}":
    put:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
        - $ref: "#/parameters/environmentId"
        - in: body
          name: ModifiedEnvironment
          required: true
          schema:
            $ref: "#/definitions/Environment"
      responses:
        "201":
          description: Details of the modified test environment.
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Update the details of a test environment.
      tags:
        - Test Environments
  "/buckets/{bucketKey}/tests/{testId}/metrics":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
      responses:
        "200":
          description: List of average response times and additional performance metrics belonging to this test.
          schema:
            $ref: "#/definitions/Metrics"
      security:
        - runscope_auth:
            - api:read
            - test:read
      summary: Return details of the test metrics for the specified timeframe.
      tags:
        - Tests
  "/buckets/{bucketKey}/tests/{testId}/steps":
    get:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
      responses:
        "200":
          description: List of test steps for a test
      security:
        - runscope_auth:
            - api:read
            - test:read
      summary: List test steps for a test.
      tags:
        - Test Steps
    post:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
        - in: body
          name: TestStep
          required: true
          schema:
            $ref: "#/definitions/TestStep"
      responses:
        "201":
          description: Details of the new test step.
        "400":
          description: Must send valid JSON object to create a new test step
          schema:
            $ref: "#/definitions/StandardError"
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Add new test step.
      tags:
        - Test Steps
  "/buckets/{bucketKey}/tests/{testId}/steps/{stepId}":
    delete:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
        - $ref: "#/parameters/stepId"
      responses:
        "204":
          description: No content with no body.
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Delete a step from a test.
      tags:
        - Test Steps
    put:
      parameters:
        - $ref: "#/parameters/bucketKey"
        - $ref: "#/parameters/testId"
        - $ref: "#/parameters/stepId"
        - in: body
          name: TestStep
          required: true
          schema:
            $ref: "#/definitions/TestStep"
      responses:
        "200":
          description: List of test steps for a test
        "400":
          description: Unable to update template '{stepId}' for test '{testId}'
          schema:
            $ref: "#/definitions/StandardError"
      security:
        - runscope_auth:
            - api:read
            - test:write
      summary: Update the details of a single test step.
      tags:
        - Test Steps
  "/teams/{teamId}/agents":
    get:
      description: List currently connected agents associated with a given team.
      parameters:
        - $ref: "#/parameters/teamId"
      responses:
        "200":
          description: List of the team’s currently connected agents.
          schema:
            items:
              $ref: "#/definitions/Agent"
            type: array
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - team:read
      summary: Team agents list
      tags:
        - Account
  "/teams/{teamId}/integrations":
    get:
      description: Returns a list of integrations configured for the team.
      parameters:
        - $ref: "#/parameters/teamId"
      responses:
        "200":
          description: List of integrations associated with the team.
          schema:
            properties:
              data:
                items:
                  $ref: "#/definitions/Integration"
                type: array
              meta:
                $ref: "#/definitions/Meta"
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - team:read
      summary: Team integrations list
      tags:
        - Account
  "/teams/{teamId}/people":
    get:
      description: List people and integrations associated with a given team.
      parameters:
        - $ref: "#/parameters/teamId"
      responses:
        "200":
          description: List of people associated with the team.
          schema:
            items:
              $ref: "#/definitions/Account"
            type: array
        default:
          $ref: "#/responses/UnexpectedError"
      security:
        - runscope_auth:
            - api:read
            - account:email
            - team:read
      summary: Teams Resource
      tags:
        - Account
definitions:
  Account:
    properties:
      email:
        description: The email address for this account. Only present if authorized with the account:email scope.
        type: string
      id:
        description: The unique identifier for this account.
        type: string
      name:
        description: The name of the person for this account.
        type: string
      teams:
        items:
          $ref: "#/definitions/Team"
        type: array
    type: object
  Agent:
    properties:
      agent_id:
        description: The unique identifier for this agent.
        type: string
      name:
        description: The name of the agent set in the configuration file or with the command line flag.
        type: string
      version:
        description: The version for this agent.
        type: string
  Assertion:
    properties:
      comparison:
        type: string
      source:
        type: string
      value:
        type: string
    type: object
  Bucket:
    properties:
      auth_token:
        description: Bucket auth token if set, otherwise this value is null.
        type: string
      collections_url:
        type: string
      default:
        description: True if this bucket is the 'default' for a team. Default buckets cannot be deleted.
        type: boolean
      key:
        description: The unique identifier used to address a bucket.
        type: string
      messages_url:
        type: string
      name:
        description: The name of this bucket as displayed in your dashboard.
        type: string
      team:
        $ref: "#/definitions/Team"
      tests_url:
        type: string
      trigger_url:
        type: string
      verify_ssl:
        description: True if this bucket is configured to verify ssl for requests made to it.
        type: boolean
  Environment:
    properties:
      auth:
        type: string
      client_certificate:
        type: string
      emails:
        type: object
      exported_at:
        type: integer
      headers:
        type: object
      id:
        description: The unique identifier for this environment.
        type: string
      initial_script_hash:
        type: string
      initial_variables:
        type: object
      integrations:
        description: The list of integrations for this environment.
        items:
          $ref: "#/definitions/Integration"
        type: array
      name:
        description: Name of this environment.
        type: string
      parent_environment_id:
        type: string
      preserve_cookies:
        type: boolean
      regions:
        description: An array of the region codes that this environment is using.
        items:
          type: string
        type: array
      remote_agents:
        items:
          $ref: "#/definitions/Agent"
        type: array
      retry_on_failure:
        type: boolean
      script:
        description: ""
        type: string
      script_library:
        description: The list of ids for scripts, part of the script libraries, being used for this environment.
        items:
          type: string
        type: array
      stop_on_failure:
        description: Stop executing the test after the first failed step.
        type: boolean
      test_id:
        description: The unique identifier for this test.
        type: string
      verify_ssl:
        description: Validate all SSL certificates on any HTTPS connections.
        type: boolean
      version:
        type: string
      webhooks:
        type: string
    required:
      - name
    type: object
  Error:
    properties:
      code:
        format: int32
        type: integer
      fields:
        type: string
      message:
        type: string
  Error400:
    properties:
      error:
        type: string
      message:
        type: string
      more_info:
        type: string
      status:
        format: int32
        type: integer
  Integration:
    properties:
      description:
        type: string
      id:
        type: string
      type:
        type: string
      uuid:
        type: string
  Meta:
    properties:
      status:
        description: Success or failure status of call.
        type: string
  Metrics:
    properties:
      changes_from_last_period:
        description: The changes in average response time compared to the last period.
        type: object
      environment_uuid:
        description: The environment_uuid that filters this request.
        type: string
      region:
        description: The region that filters this request.
        type: string
      response_times:
        description: The list of response times based on the timeframe of the request.
        items:
          properties:
            avg_response_time_ms:
              description: The average response time in miliseconds for all the requests for this test in this time interval.
              type: integer
            success_ratio:
              description: 1 if there's a successful request in this time interval, or 0 if there isn't.
              type: integer
            timestamp:
              description: The timestamp in Unix format for the specified timeframe.
              type: integer
        type: array
      this_time_period:
        description: The average response time for different percentiles for the request in the requested timeframe.
        type: object
      timeframe:
        description: The timeframe that filters this request.
        type: string
  NewBucket:
    properties:
      name:
        description: Name of this bucket
        type: string
      team_id:
        description: Unique identifier for the team to create this bucket for.
        type: string
    required:
      - name
      - team_id
  NewMessage:
    properties:
      request:
        properties:
          body:
            description: |
              HTTP request body (most commonly used for POST and PUT requests). If the
              request body contains binary data that cannot be included directly in the 
              JSON, encode the content with Base64 and include the body_encoding attribute accordingly.
            type: string
          body_encoding:
            description: |
              If the request body was encoded with Base64, this field should be present and set to 
              "base64". If not specified, defaults to "plaintext"
            type: string
          form:
            description: |
              JSON object of set of form fields included in a POST request. 
              Values can either be represented as a string or as an array of strings.
            type: string
          headers:
            description: JSON object of header keys and values -- with values as a string or an array of strings.
            type: string
          method:
            description: HTTP method name (GET, POST, PUT, HEAD, OPTIONS, PATCH, DELETE, etc.)
            type: string
          timestamp:
            description: Unix timestamp indicating when the request was made.
            format: float
            type: number
          url:
            description: Full URL of the request, including URL querystring parameters.
            type: string
        type: object
      response:
        properties:
          body:
            description: |
              HTTP response body. If the response body contains binary data that cannot be
              included directly in the JSON, you should encode the content with Base64.
            type: string
          body_encoding:
            description: |
              If the request body was encoded with Base64, this field should be present and set to 
              "base64". If not specified, defaults to "plaintext"
            type: string
          headers:
            description: JSON object of header keys and values -- with values as a string or an array of strings.
            type: string
          reason:
            description: |
              Textual description of HTTP status code. This will be set automatically if not 
              provided in the API call. For example, if the status code is 404, this will be 
              set to "Not Found" unless you explicitly specify a different reason.
            type: string
          response_time:
            description: Length of time it took to receive the response, in seconds.
            format: float
            type: number
          status:
            description: HTTP status code returned in the response.
            type: integer
          timestamp:
            description: Unix timestamp indicating when the request was made.
            format: float
            type: number
        type: object
  Schedule:
    properties:
      environment_id:
        type: string
      exported_at:
        type: integer
      id:
        type: string
      interval:
        type: string
      note:
        type: string
      version:
        type: string
    type: object
  StandardError:
    properties:
      data:
        type: object
      error:
        $ref: "#/definitions/Error400"
      meta:
        $ref: "#/definitions/Meta"
  Team:
    properties:
      id:
        description: The unique identifier for this team.
        type: string
      name:
        description: The name of this team.
        type: string
  Test:
    properties:
      created_at:
        description: The date the test was created in seconds (Unix time stamp format).
        type: integer
      created_by:
        properties:
          email:
            type: string
          id:
            type: string
          name:
            type: string
        type: object
      default_environment_id:
        type: string
      description:
        description: The description for the test.
        type: string
      id:
        type: string
      last_run:
        type: object
      name:
        description: The name for the test.
        type: string
      trigger_url:
        type: string
    required:
      - name
  TestDetail:
    allOf:
      - properties:
          environments:
            $ref: "#/definitions/Environment"
          exported_at:
            type: integer
          last_run:
            type: object
          schedules:
            items:
              $ref: "#/definitions/Schedule"
            type: array
          steps:
            items:
              type: object
            type: array
          version:
            type: string
        type: object
      - $ref: "#/definitions/Test"
  TestStep:
    properties:
      step_type:
        description: Type of test step -- request, pause, condition, ghost-inspector, or subtest.
        type: string
  TestStepRequest:
    allOf:
      - properties:
          assertions:
            description: A list of assertions to apply to the HTTP response from this request.
            items:
              $ref: "#/definitions/Assertion"
            type: array
          auth:
            description: An authentication object with either basic, oauth1, or client_certificate credentials for authenticating this request.
            type: object
          before_scripts:
            description: A list of pre-request scripts to run before this request.
            items:
              type: string
            type: array
          body:
            description: A string to use as the body of the request.
            type: string
          form:
            description: An object with keys as form post parameter names matched to their values. Values can either be a single string or an array of strings.
            type: object
          headers:
            description: An object with keys as header names matched to their values. Values can either be a single string or an array of strings.
            type: object
          method:
            description: The HTTP method for this request step. E.g. GET, POST, PUT, DELETE, etc.
            type: string
          note:
            description: A description or note for this request step.
            type: string
          scripts:
            description: A list of post-response scripts to run after this request.
            items:
              type: string
            type: array
          url:
            description: The URL to make a request to for this step. This may contain both query string parameters and variables.
            type: string
          variables:
            description: A list of variables to extract out of the HTTP response from this request.
            items:
              $ref: "#/definitions/Variable"
            type: array
        type: object
      - $ref: "#/definitions/TestStep"
  Variable:
    properties:
      name:
        type: string
      property:
        type: string
      source:
        type: string
    type: object
