Rainforest QA clients API

Operations about clients

OpenAPI Specification

rainforest-qa-clients-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Rainforest callback clients API
  description: Nearly all interactions done in Rainforest can be done via the API. Find your API Token (for the CLIENT_TOKEN header field) on the integration settings page (https://app.rainforestqa.com/settings/integrations).
  version: '1'
servers:
- url: https://app.rainforestqa.com/api
security:
- api_key: []
tags:
- name: clients
  description: Operations about clients
paths:
  /1/clients:
    get:
      summary: Fetch your account details
      description: Fetch your account details
      responses:
        '200':
          description: Retrieved account details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Client'
      tags:
      - clients
      operationId: get-clients
      x-rdme-order: 1
    put:
      summary: Update account information
      description: Update account information
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put-clients'
        required: true
      responses:
        '200':
          description: Updated client
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Client'
        '400':
          description: Could not update client
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - clients
      operationId: put-clients
      x-rdme-order: 2
  /1/clients/stats:
    get:
      summary: Fetch usage stats
      description: Fetch usage stats
      responses:
        '200':
          description: Fetch usage stats
      tags:
      - clients
      operationId: get-client-stats
      x-rdme-order: 3
  /1/clients/select:
    post:
      summary: Select different client
      description: Select different client
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post-clients-select'
        required: true
      responses:
        '201':
          description: Switched to a different client
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Client'
        '400':
          description: Cannot switch to the current client
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Cannot switch to a client you do not have access to
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - clients
      operationId: post-clients-select
      x-rdme-order: 4
components:
  schemas:
    Environment:
      type: object
      properties:
        id:
          type: integer
          format: int32
        created_at:
          type: string
          format: date-time
        name:
          type: boolean
        default:
          type: boolean
        webhook:
          type: string
          format: url
        webhook_enabled:
          type: boolean
        is_temporary:
          type: boolean
        deleted_at:
          type: string
          format: date-time
          description: Only rendered if the environment is deleted
        site_environments:
          type: array
          items:
            $ref: '#/components/schemas/SiteEnvironment'
        will_delete_after:
          type: string
          format: date-time
          description: Only rendered if `is_temporary` is `true`
      required:
      - name
      - default
      - webhook
      - webhook_enabled
      - is_temporary
      - site_environments
      description: Environment model
    put-clients:
      type: object
      properties:
        name:
          type: string
          description: Account name
        billing_alert_threshold:
          type: integer
          format: int32
          description: The threshold, in cents, at which you wish to be notified of an upcoming invoice's amount (only editable by the account owner)
        billing_email:
          type: string
          format: email
          description: A dedicated billing email address (only editable by the account owner)
        default_execution_method:
          type: string
          description: The default execution method to use for runs started without specifying a specific method
          enum:
          - crowd
          - automation
          - automation_and_crowd
          - on_premise
        timezone:
          type: string
          description: The timezone scheduled runs are based on
          enum:
          - Africa/Abidjan
          - Africa/Accra
          - Africa/Addis_Ababa
          - Africa/Algiers
          - Africa/Asmara
          - Africa/Asmera
          - Africa/Bamako
          - Africa/Bangui
          - Africa/Banjul
          - Africa/Bissau
          - Africa/Blantyre
          - Africa/Brazzaville
          - Africa/Bujumbura
          - Africa/Cairo
          - Africa/Casablanca
          - Africa/Ceuta
          - Africa/Conakry
          - Africa/Dakar
          - Africa/Dar_es_Salaam
          - Africa/Djibouti
          - Africa/Douala
          - Africa/El_Aaiun
          - Africa/Freetown
          - Africa/Gaborone
          - Africa/Harare
          - Africa/Johannesburg
          - Africa/Juba
          - Africa/Kampala
          - Africa/Khartoum
          - Africa/Kigali
          - Africa/Kinshasa
          - Africa/Lagos
          - Africa/Libreville
          - Africa/Lome
          - Africa/Luanda
          - Africa/Lubumbashi
          - Africa/Lusaka
          - Africa/Malabo
          - Africa/Maputo
          - Africa/Maseru
          - Africa/Mbabane
          - Africa/Mogadishu
          - Africa/Monrovia
          - Africa/Nairobi
          - Africa/Ndjamena
          - Africa/Niamey
          - Africa/Nouakchott
          - Africa/Ouagadougou
          - Africa/Porto-Novo
          - Africa/Sao_Tome
          - Africa/Timbuktu
          - Africa/Tripoli
          - Africa/Tunis
          - Africa/Windhoek
          - America/Adak
          - America/Anchorage
          - America/Anguilla
          - America/Antigua
          - America/Araguaina
          - America/Argentina/Buenos_Aires
          - America/Argentina/Catamarca
          - America/Argentina/ComodRivadavia
          - America/Argentina/Cordoba
          - America/Argentina/Jujuy
          - America/Argentina/La_Rioja
          - America/Argentina/Mendoza
          - America/Argentina/Rio_Gallegos
          - America/Argentina/Salta
          - America/Argentina/San_Juan
          - America/Argentina/San_Luis
          - America/Argentina/Tucuman
          - America/Argentina/Ushuaia
          - America/Aruba
          - America/Asuncion
          - America/Atikokan
          - America/Atka
          - America/Bahia
          - America/Bahia_Banderas
          - America/Barbados
          - America/Belem
          - America/Belize
          - America/Blanc-Sablon
          - America/Boa_Vista
          - America/Bogota
          - America/Boise
          - America/Buenos_Aires
          - America/Cambridge_Bay
          - America/Campo_Grande
          - America/Cancun
          - America/Caracas
          - America/Catamarca
          - America/Cayenne
          - America/Cayman
          - America/Chicago
          - America/Chihuahua
          - America/Ciudad_Juarez
          - America/Coral_Harbour
          - America/Cordoba
          - America/Costa_Rica
          - America/Coyhaique
          - America/Creston
          - America/Cuiaba
          - America/Curacao
          - America/Danmarkshavn
          - America/Dawson
          - America/Dawson_Creek
          - America/Denver
          - America/Detroit
          - America/Dominica
          - America/Edmonton
          - America/Eirunepe
          - America/El_Salvador
          - America/Ensenada
          - America/Fort_Nelson
          - America/Fort_Wayne
          - America/Fortaleza
          - America/Glace_Bay
          - America/Godthab
          - America/Goose_Bay
          - America/Grand_Turk
          - America/Grenada
          - America/Guadeloupe
          - America/Guatemala
          - America/Guayaquil
          - America/Guyana
          - America/Halifax
          - America/Havana
          - America/Hermosillo
          - America/Indiana/Indianapolis
          - America/Indiana/Knox
          - America/Indiana/Marengo
          - America/Indiana/Petersburg
          - America/Indiana/Tell_City
          - America/Indiana/Vevay
          - America/Indiana/Vincennes
          - America/Indiana/Winamac
          - America/Indianapolis
          - America/Inuvik
          - America/Iqaluit
          - America/Jamaica
          - America/Jujuy
          - America/Juneau
          - America/Kentucky/Louisville
          - America/Kentucky/Monticello
          - America/Knox_IN
          - America/Kralendijk
          - America/La_Paz
          - America/Lima
          - America/Los_Angeles
          - America/Louisville
          - America/Lower_Princes
          - America/Maceio
          - America/Managua
          - America/Manaus
          - America/Marigot
          - America/Martinique
          - America/Matamoros
          - America/Mazatlan
          - America/Mendoza
          - America/Menominee
          - America/Merida
          - America/Metlakatla
          - America/Mexico_City
          - America/Miquelon
          - America/Moncton
          - America/Monterrey
          - America/Montevideo
          - America/Montreal
          - America/Montserrat
          - America/Nassau
          - America/New_York
          - America/Nipigon
          - America/Nome
          - America/Noronha
          - America/North_Dakota/Beulah
          - America/North_Dakota/Center
          - America/North_Dakota/New_Salem
          - America/Nuuk
          - America/Ojinaga
          - America/Panama
          - America/Pangnirtung
          - America/Paramaribo
          - America/Phoenix
          - America/Port-au-Prince
          - America/Port_of_Spain
          - America/Porto_Acre
          - America/Porto_Velho
          - America/Puerto_Rico
          - America/Punta_Arenas
          - America/Rainy_River
          - America/Rankin_Inlet
          - America/Recife
          - America/Regina
          - America/Resolute
          - America/Rio_Branco
          - America/Rosario
          - America/Santa_Isabel
          - America/Santarem
          - America/Santiago
          - America/Santo_Domingo
          - America/Sao_Paulo
          - America/Scoresbysund
          - America/Shiprock
          - America/Sitka
          - America/St_Barthelemy
          - America/St_Johns
          - America/St_Kitts
          - America/St_Lucia
          - America/St_Thomas
          - America/St_Vincent
          - America/Swift_Current
          - America/Tegucigalpa
          - America/Thule
          - America/Thunder_Bay
          - America/Tijuana
          - America/Toronto
          - America/Tortola
          - America/Vancouver
          - America/Virgin
          - America/Whitehorse
          - America/Winnipeg
          - America/Yakutat
          - America/Yellowknife
          - Antarctica/Casey
          - Antarctica/Davis
          - Antarctica/DumontDUrville
          - Antarctica/Macquarie
          - Antarctica/Mawson
          - Antarctica/McMurdo
          - Antarctica/Palmer
          - Antarctica/Rothera
          - Antarctica/South_Pole
          - Antarctica/Syowa
          - Antarctica/Troll
          - Antarctica/Vostok
          - Arctic/Longyearbyen
          - Asia/Aden
          - Asia/Almaty
          - Asia/Amman
          - Asia/Anadyr
          - Asia/Aqtau
          - Asia/Aqtobe
          - Asia/Ashgabat
          - Asia/Ashkhabad
          - Asia/Atyrau
          - Asia/Baghdad
          - Asia/Bahrain
          - Asia/Baku
          - Asia/Bangkok
          - Asia/Barnaul
          - Asia/Beirut
          - Asia/Bishkek
          - Asia/Brunei
          - Asia/Calcutta
          - Asia/Chita
          - Asia/Choibalsan
          - Asia/Chongqing
          - Asia/Chungking
          - Asia/Colombo
          - Asia/Dacca
          - Asia/Damascus
          - Asia/Dhaka
          - Asia/Dili
          - Asia/Dubai
          - Asia/Dushanbe
          - Asia/Famagusta
          - Asia/Gaza
          - Asia/Harbin
          - Asia/Hebron
          - Asia/Ho_Chi_Minh
          - Asia/Hong_Kong
          - Asia/Hovd
          - Asia/Irkutsk
          - Asia/Istanbul
          - Asia/Jakarta
          - Asia/Jayapura
          - Asia/Jerusalem
          - Asia/Kabul
          - Asia/Kamchatka
          - Asia/Karachi
          - Asia/Kashgar
          - Asia/Kathmandu
          - Asia/Katmandu
          - Asia/Khandyga
          - Asia/Kolkata
          - Asia/Krasnoyarsk
          - Asia/Kuala_Lumpur
          - Asia/Kuching
          - Asia/Kuwait
          - Asia/Macao
          - Asia/Macau
          - Asia/Magadan
          - Asia/Makassar
          - Asia/Manila
          - Asia/Muscat
          - Asia/Nicosia
          - Asia/Novokuznetsk
          - Asia/Novosibirsk
          - Asia/Omsk
          - Asia/Oral
          - Asia/Phnom_Penh
          - Asia/Pontianak
          - Asia/Pyongyang
          - Asia/Qatar
          - Asia/Qostanay
          - Asia/Qyzylorda
          - Asia/Rangoon
          - Asia/Riyadh
          - Asia/Saigon
          - Asia/Sakhalin
          - Asia/Samarkand
          - Asia/Seoul
          - Asia/Shanghai
          - Asia/Singapore
          - Asia/Srednekolymsk
          - Asia/Taipei
          - Asia/Tashkent
          - Asia/Tbilisi
          - Asia/Tehran
          - Asia/Tel_Aviv
          - Asia/Thimbu
          - Asia/Thimphu
          - Asia/Tokyo
          - Asia/Tomsk
          - Asia/Ujung_Pandang
          - Asia/Ulaanbaatar
          - Asia/Ulan_Bator
          - Asia/Urumqi
          - Asia/Ust-Nera
          - Asia/Vientiane
          - Asia/Vladivostok
          - Asia/Yakutsk
          - Asia/Yangon
          - Asia/Yekaterinburg
          - Asia/Yerevan
          - Atlantic/Azores
          - Atlantic/Bermuda
          - Atlantic/Canary
          - Atlantic/Cape_Verde
          - Atlantic/Faeroe
          - Atlantic/Faroe
          - Atlantic/Jan_Mayen
          - Atlantic/Madeira
          - Atlantic/Reykjavik
          - Atlantic/South_Georgia
          - Atlantic/St_Helena
          - Atlantic/Stanley
          - Australia/ACT
          - Australia/Adelaide
          - Australia/Brisbane
          - Australia/Broken_Hill
          - Australia/Canberra
          - Australia/Currie
          - Australia/Darwin
          - Australia/Eucla
          - Australia/Hobart
          - Australia/LHI
          - Australia/Lindeman
          - Australia/Lord_Howe
          - Australia/Melbourne
          - Australia/NSW
          - Australia/North
          - Australia/Perth
          - Australia/Queensland
          - Australia/South
          - Australia/Sydney
          - Australia/Tasmania
          - Australia/Victoria
          - Australia/West
          - Australia/Yancowinna
          - Brazil/Acre
          - Brazil/DeNoronha
          - Brazil/East
          - Brazil/West
          - CET
          - CST6CDT
          - Canada/Atlantic
          - Canada/Central
          - Canada/Eastern
          - Canada/Mountain
          - Canada/Newfoundland
          - Canada/Pacific
          - Canada/Saskatchewan
          - Canada/Yukon
          - Chile/Continental
          - Chile/EasterIsland
          - Cuba
          - EET
          - EST
          - EST5EDT
          - Egypt
          - Eire
          - Etc/GMT
          - Etc/GMT+0
          - Etc/GMT+1
          - Etc/GMT+10
          - Etc/GMT+11
          - Etc/GMT+12
          - Etc/GMT+2
          - Etc/GMT+3
          - Etc/GMT+4
          - Etc/GMT+5
          - Etc/GMT+6
          - Etc/GMT+7
          - Etc/GMT+8
          - Etc/GMT+9
          - Etc/GMT-0
          - Etc/GMT-1
          - Etc/GMT-10
          - Etc/GMT-11
          - Etc/GMT-12
          - Etc/GMT-13
          - Etc/GMT-14
          - Etc/GMT-2
          - Etc/GMT-3
          - Etc/GMT-4
          - Etc/GMT-5
          - Etc/GMT-6
          - Etc/GMT-7
          - Etc/GMT-8
          - Etc/GMT-9
          - Etc/GMT0
          - Etc/Greenwich
          - Etc/UCT
          - Etc/UTC
          - Etc/Universal
          - Etc/Zulu
          - Europe/Amsterdam
          - Europe/Andorra
          - Europe/Astrakhan
          - Europe/Athens
          - Europe/Belfast
          - Europe/Belgrade
          - Europe/Berlin
          - Europe/Bratislava
          - Europe/Brussels
          - Europe/Bucharest
          - Europe/Budapest
          - Europe/Busingen
          - Europe/Chisinau
          - Europe/Copenhagen
          - Europe/Dublin
          - Europe/Gibraltar
          - Europe/Guernsey
          - Europe/Helsinki
          - Europe/Isle_of_Man
          - Europe/Istanbul
          - Europe/Jersey
          - Europe/Kaliningrad
          - Europe/Kiev
          - Europe/Kirov
          - Europe/Kyiv
          - Europe/Lisbon
          - Europe/Ljubljana
          - Europe/London
          - Europe/Luxembourg
          - Europe/Madrid
          - Europe/Malta
          - Europe/Mariehamn
          - Europe/Minsk
          - Europe/Monaco
          - Europe/Moscow
          - Europe/Nicosia
          - Europe/Oslo
          - Europe/Paris
          - Europe/Podgorica
          - Europe/Prague
          - Europe/Riga
          - Europe/Rome
          - Europe/Samara
          - Europe/San_Marino
          - Europe/Sarajevo
          - Europe/Saratov
          - Europe/Simferopol
          - Europe/Skopje
          - Europe/Sofia
          - Europe/Stockholm
          - Europe/Tallinn
          - Europe/Tirane
          - Europe/Tiraspol
          - Europe/Ulyanovsk
          - Europe/Uzhgorod
          - Europe/Vaduz
          - Europe/Vatican
          - Europe/Vienna
          - Europe/Vilnius
          - Europe/Volgograd
          - Europe/Warsaw
          - Europe/Zagreb
          - Europe/Zaporozhye
          - Europe/Zurich
          - Factory
          - GB
          - GB-Eire
          - GMT
          - GMT+0
          - GMT-0
          - GMT0
          - Greenwich
          - HST
          - Hongkong
          - Iceland
          - Indian/Antananarivo
          - Indian/Chagos
          - Indian/Christmas
          - Indian/Cocos
          - Indian/Comoro
          - Indian/Kerguelen
          - Indian/Mahe
          - Indian/Maldives
          - Indian/Mauritius
          - Indian/Mayotte
          - Indian/Reunion
          - Iran
          - Israel
          - Jamaica
          - Japan
          - Kwajalein
          - Libya
          - MET
          - MST
          - MST7MDT
          - Mexico/BajaNorte
          - Mexico/BajaSur
          - Mexico/General
          - NZ
          - NZ-CHAT
          - Navajo
          - PRC
          - PST8PDT
          - Pacific/Apia
          - Pacific/Auckland
          - Pacific/Bougainville
          - Pacific/Chatham
          - Pacific/Chuuk
          - Pacific/Easter
          - Pacific/Efate
          - Pacific/Enderbury
          - Pacific/Fakaofo
          - Pacific/Fiji
          - Pacific/Funafuti
          - Pacific/Galapagos
          - Pacific/Gambier
          - Pacific/Guadalcanal
          - Pacific/Guam
          - Pacific/Honolulu
          - Pacific/Johnston
          - Pacific/Kanton
          - Pacific/Kiritimati
          - Pacific/Kosrae
          - Pacific/Kwajalein
          - Pacific/Majuro
          - Pacific/Marquesas
          - Pacific/Midway
          - Pacific/Nauru
          - Pacific/Niue
          - Pacific/Norfolk
          - Pacific/Noumea
          - Pacific/Pago_Pago
          - Pacific/Palau
          - Pacific/Pitcairn
          - Pacific/Pohnpei
          - Pacific/Ponape
          - Pacific/Port_Moresby
          - Pacific/Rarotonga
          - Pacific/Saipan
          - Pacific/Samoa
          - Pacific/Tahiti
          - Pacific/Tarawa
          - Pacific/Tongatapu
          - Pacific/Truk
          - Pacific/Wake
          - Pacific/Wallis
          - Pacific/Yap
          - Poland
          - Portugal
          - ROC
          - ROK
          - Singapore
          - Turkey
          - UCT
          - US/Alaska
          - US/Aleutian
          - US/Arizona
          - US/Central
          - US/East-Indiana
          - US/Eastern
          - US/Hawaii
          - US/Indiana-Starke
          - US/Michigan
          - US/Mountain
          - US/Pacific
          - US/Samoa
          - UTC
          - Universal
          - W-SU
          - WET
          - Zulu
        concurrent_tester_limit:
          type: integer
          format: int32
          description: This is the maximum number of tests that will be executed at the same time. If your servers can not handle large numbers of concurrent tests, use this to limit the number of active tests. Leave blank to unset the limit.
        virtual_card_limit:
          type: integer
          format: int32
          description: Virtual cards maximum charge amount
        slack_token:
          type: string
          description: Remove your Slack OAuth token
          enum:
          - null
        fallback_ai_enabled:
          type: string
        fallback_dom_enabled:
          type: string
      description: Update account information
    BrowserWithDefault:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        category:
          type: string
          enum:
          - browser
          - software
          - tablet
          - phone
        browser_version:
          type: string
        os_version:
          type: string
        credit_cost:
          type: integer
          format: int32
        mobile_os_type:
          type: string
          enum:
          - ios
          - android
        mobile_device_type:
          type: string
          enum:
          - vm
          - real_device
        default:
          type: boolean
    Error:
      type: object
      properties:
        error:
          type: string
          description: An error message describing what went wrong
      required:
      - error
      description: Error model
    RunProgress:
      type: object
      properties:
        percent:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
        complete:
          type: integer
          format: int32
        passed:
          type: integer
          format: int32
        failed:
          type: integer
          format: int32
        no_result:
          type: integer
          format: int32
        eta:
          type: object
    Client:
      type: object
      properties:
        id:
          type: integer
          format: int32
        created_at:
          type: string
          format: date-time
        client_id:
          type: integer
          format: int32
        name:
          type: string
        enabled_features:
          type: array
          items:
            type: string
        enabled_atc_features:
          type: array
          items:
            type: string
        default_environment_id:
          type: integer
          format: int32
        default_site_id:
          type: integer
          format: int32
        api_token:
          type: string
          format: password
        algolia_key:
          type: string
          format: password
        settings:
          type: object
        billing_email:
          type: string
          format: email
        timezone:
          type: string
        run_count:
          type: integer
          format: int32
        test_count:
          type: integer
          format: int32
        snippet_count:
          type: integer
          format: int32
        current_test_count:
          type: integer
          format: int32
        current_plan_test_count_limit:
          type: integer
          format: int32
        available_browsers:
          $ref: '#/components/schemas/BrowserWithDefault'
        owner_email:
          type: string
          format: email
        currently_running:
          $ref: '#/components/schemas/RunLite'
        browser_credit_costs:
          $ref: '#/components/schemas/BrowserCreditCost'
        concurrent_tester_limit:
          type: integer
          format: int32
        virtual_card_limit:
          type: integer
          format: int32
          description: Only rendered if you use [Virtual Credit Cards](https://help.rainforestqa.com/docs/virtual-credit-cards)
        has_private_sms_numbers:
          type: boolean
      description: Client model
    BrowserCreditCost:
      type: object
      properties:
        id:
          type: integer
          format: int32
        browser_id:
          type: integer
          format: int32
        browser_key:
          type: string
        credit_cost:
          type: integer
          format: int32
    RunLite:
      type: object
      properties:
        id:
          type: integer
          format: int32
        created_at:
          type: string
          format: date-time
        state:
          type: string
          enum:
          - queued
          - validating
          - downloading_app
          - waiting_for_test_initialization
          - analyzing_app
          - error
          - sending_webhook
          - in_progress
          - aborting
          - aborted
          - timed_out
          - waiting_for_callback
          - complete
          - pending_investigation
        requested_tests:
          type: array
          items:
            type: integer
            format: int32
        current_progress:
          $ref: '#/components/schemas/RunProgress'
        credit_cost:
          type: integer
          format: int32
        result:
          type: string
          enum:
          - passed
          - failed
          - no_result
        updated_at:
          type: string
          format: date-time
        environment:
          $ref: '#/components/schemas/Environment'
    post-clients-select:
      type: object
      properties:
        client_id:
          type: integer
          format: int32
          description: Id of client that you want to switch to
      required:
      - client_id
      description: Select different client
    SiteEnvironment:
      type: object
      properties:
        id:
          type: integer
          format: int32
        created_at:
          type: string
          format: date-time
        site_id:
          type: integer
          format: int32
        environment_id:
          type: integer
          format: int32
        url:
          type: string
          format: url
      required:
      - site_id
      - environment_id
      - url
  securitySchemes:
    api_key:
      type: apiKey
      name: CLIENT_TOKEN
      in: header