openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 29.3 kB
JSON
{"openapi":"3.0.0","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"},"security":[{"runscope_auth":["api:read"]}],"paths":{"/account":{"get":{"description":"Information about the authorized account.","responses":{"200":{"description":"Account owner and team information.","content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Account"},"meta":{"$ref":"#/components/schemas/Meta"}},"type":"object"}}}},"default":{"$ref":"#/components/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.","content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Bucket"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"type":"object"}}}},"default":{"$ref":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read"]},{"runscope_auth":["api:read","bucket:auth_token"]}],"summary":"Returns a list of buckets.","tags":["Buckets"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewBucket"}}},"required":true},"responses":{"200":{"description":"Bucket details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bucket"}}}},"default":{"$ref":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read","bucket:write"]}],"summary":"Create a new bucket","tags":["Buckets"]}},"/buckets/{bucketKey}":{"delete":{"parameters":[{"$ref":"#/components/parameters/bucketKey"}],"responses":{"204":{"description":"No content with no body."},"default":{"$ref":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read","bucket:write"]}],"summary":"Delete a single bucket resource.","tags":["Buckets"]},"get":{"parameters":[{"$ref":"#/components/parameters/bucketKey"}],"responses":{"200":{"description":"Bucket details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bucket"}}}},"default":{"$ref":"#/components/responses/UnexpectedError"}},"summary":"Returns a single bucket resource.","tags":["Buckets"]}},"/buckets/{bucketKey}/environments":{"get":{"parameters":[{"$ref":"#/components/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":"#/components/parameters/bucketKey"}],"requestBody":{"$ref":"#/components/requestBodies/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/environmentId"}],"requestBody":{"$ref":"#/components/requestBodies/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":"#/components/parameters/bucketKey"},{"description":"Maxiumum number of messages to return. Default 50, max 1000.","in":"query","name":"count","schema":{"type":"integer"}},{"description":"Only return messages after the given Unix timestamp","in":"query","name":"since","schema":{"type":"integer"}},{"description":"Only return messages before the given Unix timestamp","in":"query","name":"before","schema":{"type":"integer"}}],"responses":{"200":{"description":"List of error messages in a bucket"},"default":{"$ref":"#/components/responses/UnexpectedError"}},"summary":"Retrieve a list of error messages in a bucket","tags":["Messages"]}},"/buckets/{bucketKey}/messages":{"delete":{"parameters":[{"$ref":"#/components/parameters/bucketKey"}],"responses":{"204":{"description":"No content with no body."},"default":{"$ref":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read","message:write"]}],"summary":"Clear a bucket (remove all messages).","tags":["Messages"]},"get":{"parameters":[{"$ref":"#/components/parameters/bucketKey"},{"description":"Maxiumum number of messages to return. Default 50, max 1000.","in":"query","name":"count","schema":{"type":"integer"}},{"description":"Only return messages after the given Unix timestamp","in":"query","name":"since","schema":{"type":"integer"}},{"description":"Only return messages before the given Unix timestamp","in":"query","name":"before","schema":{"type":"integer"}}],"responses":{"200":{"description":"List of messages in a bucket"},"default":{"$ref":"#/components/responses/UnexpectedError"}},"summary":"Retrieve a list of messages in a bucket","tags":["Messages"]},"post":{"parameters":[{"$ref":"#/components/parameters/bucketKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewMessage"}}},"required":true},"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.","content":{"application/json":{"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":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read","message:write"]}],"summary":"Create a message","tags":["Messages"]}},"/buckets/{bucketKey}/messages/{messageId}":{"get":{"parameters":[{"$ref":"#/components/parameters/bucketKey"},{"description":"The unique identifier for this message","in":"path","name":"messageId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of messages in a bucket"},"default":{"$ref":"#/components/responses/UnexpectedError"}},"summary":"Retrieve the details for a single message.","tags":["Messages"]}},"/buckets/{bucketKey}/tests":{"get":{"parameters":[{"$ref":"#/components/parameters/bucketKey"}],"responses":{"200":{"description":"List of tests for this bucket","content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Test"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}},"security":[{"runscope_auth":["api:read","test:read"]}],"summary":"Returns a list of tests.","tags":["Tests"]},"post":{"parameters":[{"$ref":"#/components/parameters/bucketKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Test"}}},"required":true},"responses":{"200":{"description":"List of tests for this bucket","content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Test"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}}},"security":[{"runscope_auth":["api:read","test:write"]}],"summary":"Create a test.","tags":["Tests"]}},"/buckets/{bucketKey}/tests/{testId}":{"delete":{"parameters":[{"$ref":"#/components/parameters/bucketKey"},{"$ref":"#/components/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"}],"responses":{"200":{"description":"Returns an object with the details of the given test.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestDetail"}}}},"default":{"$ref":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read","test:read"]}],"summary":"Retrieve the details of a given test by ID.","tags":["Tests"]},"put":{"parameters":[{"$ref":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"}],"responses":{"201":{"description":"Returns 201 and the updated test's JSON description if the test is successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestDetail"}}}},"default":{"$ref":"#/components/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"}],"responses":{"200":{"description":"List of environments belonging to this test.","content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Environment"},"type":"array"},"meta":{"$ref":"#/components/schemas/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"}],"requestBody":{"$ref":"#/components/requestBodies/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"},{"$ref":"#/components/parameters/environmentId"}],"requestBody":{"$ref":"#/components/requestBodies/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"}],"responses":{"200":{"description":"List of average response times and additional performance metrics belonging to this test.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"}],"requestBody":{"$ref":"#/components/requestBodies/TestStep"},"responses":{"201":{"description":"Details of the new test step."},"400":{"description":"Must send valid JSON object to create a new test step","content":{"application/json":{"schema":{"$ref":"#/components/schemas/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"},{"$ref":"#/components/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":"#/components/parameters/bucketKey"},{"$ref":"#/components/parameters/testId"},{"$ref":"#/components/parameters/stepId"}],"requestBody":{"$ref":"#/components/requestBodies/TestStep"},"responses":{"200":{"description":"List of test steps for a test"},"400":{"description":"Unable to update template '{stepId}' for test '{testId}'","content":{"application/json":{"schema":{"$ref":"#/components/schemas/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":"#/components/parameters/teamId"}],"responses":{"200":{"description":"List of the team’s currently connected agents.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Agent"},"type":"array"}}}},"default":{"$ref":"#/components/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":"#/components/parameters/teamId"}],"responses":{"200":{"description":"List of integrations associated with the team.","content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Integration"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"default":{"$ref":"#/components/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":"#/components/parameters/teamId"}],"responses":{"200":{"description":"List of people associated with the team.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Account"},"type":"array"}}}},"default":{"$ref":"#/components/responses/UnexpectedError"}},"security":[{"runscope_auth":["api:read","account:email","team:read"]}],"summary":"Teams Resource","tags":["Account"]}}},"servers":[{"url":"https://api.runscope.com"}],"components":{"parameters":{"bucketKey":{"description":"Unique identifier for a bucket","in":"path","name":"bucketKey","required":true,"schema":{"type":"string"}},"environmentId":{"description":"Unique identifier for a test environment","in":"path","name":"environmentId","required":true,"schema":{"type":"string"}},"stepId":{"description":"Unique identifier for a test step","in":"path","name":"stepId","required":true,"schema":{"type":"string"}},"teamId":{"description":"Unique identifier for team","in":"path","name":"teamId","required":true,"schema":{"type":"string"}},"testId":{"description":"Unique identifier for a test","in":"path","name":"testId","required":true,"schema":{"type":"string"}}},"responses":{"Standard400Response":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"Standard403Response":{"description":"Invalid or missing Authorization header","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardError"}}}},"UnexpectedError":{"description":"Unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBodies":{"TestStep":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestStep"}}},"required":true},"Environment":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Environment"}}},"required":true}},"securitySchemes":{"runscope_auth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://www.runscope.com/signin/oauth/authorize","tokenUrl":"https://www.runscope.com/signin/oauth/access_token","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."}}}}},"schemas":{"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":"#/components/schemas/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":"#/components/schemas/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":"#/components/schemas/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":"#/components/schemas/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\nrequest body contains binary data that cannot be included directly in the \nJSON, encode the content with Base64 and include the body_encoding attribute accordingly.\n","type":"string"},"body_encoding":{"description":"If the request body was encoded with Base64, this field should be present and set to \n\"base64\". If not specified, defaults to \"plaintext\"\n","type":"string"},"form":{"description":"JSON object of set of form fields included in a POST request. \nValues can either be represented as a string or as an array of strings.\n","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\nincluded directly in the JSON, you should encode the content with Base64.\n","type":"string"},"body_encoding":{"description":"If the request body was encoded with Base64, this field should be present and set to \n\"base64\". If not specified, defaults to \"plaintext\"\n","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 \nprovided in the API call. For example, if the status code is 404, this will be \nset to \"Not Found\" unless you explicitly specify a different reason.\n","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":"#/components/schemas/Error400"},"meta":{"$ref":"#/components/schemas/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":"#/components/schemas/Environment"},"exported_at":{"type":"integer"},"last_run":{"type":"object"},"schedules":{"items":{"$ref":"#/components/schemas/Schedule"},"type":"array"},"steps":{"items":{"type":"object"},"type":"array"},"version":{"type":"string"}},"type":"object"},{"$ref":"#/components/schemas/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":"#/components/schemas/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":"#/components/schemas/Variable"},"type":"array"}},"type":"object"},{"$ref":"#/components/schemas/TestStep"}]},"Variable":{"properties":{"name":{"type":"string"},"property":{"type":"string"},"source":{"type":"string"}},"type":"object"}}}}