diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java index 6f3f393534f..9d13f703a49 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JetbrainsHttpClientClientCodegen.java @@ -31,6 +31,8 @@ import java.io.File; import java.io.IOException; import java.io.Writer; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.openapitools.codegen.meta.GeneratorMetadata; import org.openapitools.codegen.meta.Stability; @@ -66,6 +68,9 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements public List customHeaders = new ArrayList<>(); + // A map is nice, because that way I easily override variables across APIs, for pagination for example. This should add nice defaults + private final Map customVariables = new HashMap<>(); + public CodegenType getTag() { return CodegenType.CLIENT; @@ -96,6 +101,7 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements embeddedTemplateDir = templateDir = "jetbrains-http-client"; apiPackage = "Apis"; supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); + supportingFiles.add(new SupportingFile("http-client.template.env.mustache", "Apis", "http-client.template.env.json")); cliOptions.clear(); @@ -116,6 +122,14 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements if (additionalProperties.containsKey(CUSTOM_HEADERS)) { customHeaders = Arrays.asList(additionalProperties.get(CUSTOM_HEADERS).toString().split("&")); } + + bodyVariables.forEach(variable -> customVariables.put(variable, "")); + for(String header: customHeaders) { + List variables = extractDoubleCurlyBraces(header); + if(!variables.isEmpty()) { + variables.forEach(v -> customVariables.put(v, "")); + } + } } @Override @@ -152,9 +166,17 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements codegenOperation.vendorExtensions.put("customHeaders", customHeaders); } } + return results; } + @Override + public Map postProcessSupportingFileData(Map objs) { + var variables = new ArrayList<>(customVariables.keySet()); + objs.put("vendorExtensionsVariables", variables); + return objs; + } + List getRequests(CodegenOperation codegenOperation) { List items = new ArrayList<>(); @@ -195,10 +217,42 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements items.add(new RequestItem(codegenOperation.summary, null)); } + codegenOperation.headerParams.forEach(param -> customVariables.put(param.baseName, "")); + codegenOperation.queryParams.forEach(param -> customVariables.put(param.paramName, "")); + + // I also need to grab the parameters from the path + List pathVariables = extractSingleCurlyBraces(codegenOperation.path); + pathVariables.forEach(pv -> customVariables.put(pv, "")); + // Handling custom variables now return handleCustomVariablesInRequests(items); } + public static List extractDoubleCurlyBraces(String input) { + List result = new ArrayList<>(); + Pattern pattern = Pattern.compile("\\{\\{([^}]+)\\}\\}"); + Matcher matcher = pattern.matcher(input); + + while (matcher.find()) { + result.add(matcher.group(1)); + } + + return result; + } + + public static List extractSingleCurlyBraces(String input) { + List result = new ArrayList<>(); + Pattern pattern = Pattern.compile("\\{([^}]+)\\}"); + Matcher matcher = pattern.matcher(input); + + while (matcher.find()) { + result.add(matcher.group(1)); + } + + return result; + } + + private List handleCustomVariablesInRequests(List items) { if (!bodyVariables.isEmpty()) { for (var item : items) { @@ -220,7 +274,7 @@ public class JetbrainsHttpClientClientCodegen extends DefaultCodegen implements public void postProcess() { System.out.println("##########################################################################################"); System.out.println("# Thanks for using OpenAPI Generator. #"); - System.out.println("# Please consider donation to help us maintain this project \uD83D\uDE4F #"); + System.out.println("# Please consider donation to help us maintain this project \uD83D\uDE4F #"); System.out.println("# https://opencollective.com/openapi_generator/donate #"); System.out.println("# #"); System.out.println("# This generator was written by Julien Lengrand-Lambert (https://github.com/jlengrand) #"); diff --git a/modules/openapi-generator/src/main/resources/jetbrains-http-client/api.mustache b/modules/openapi-generator/src/main/resources/jetbrains-http-client/api.mustache index 56b48b17eb8..63a1962eee0 100644 --- a/modules/openapi-generator/src/main/resources/jetbrains-http-client/api.mustache +++ b/modules/openapi-generator/src/main/resources/jetbrains-http-client/api.mustache @@ -5,13 +5,16 @@ {{#vendorExtensions.requests}} ### {{#summary}}{{summary}}{{/summary}} ## {{name}} -{{httpMethod}} {{basePath}}{{#lambda.doubleMustache}}{{path}}{{/lambda.doubleMustache}}{{#authMethods}}{{#isKeyInQuery}}?{{keyParamName}}={{#lambda.doubleMustache}}{queryKey}{{/lambda.doubleMustache}}{{/isKeyInQuery}}{{/authMethods}} +{{httpMethod}} {{basePath}}{{#lambda.doubleMustache}}{{path}}{{/lambda.doubleMustache}}{{>queryParams}} {{#consumes}} Content-Type: {{{mediaType}}} {{/consumes}} {{#produces}} Accept: {{{mediaType}}} {{/produces}} +{{#headerParams}} +{{baseName}}: {{=<% %>=}}{{<%paramName%>}}<%={{ }}=%> +{{/headerParams}} {{#vendorExtensions.customHeaders}} {{{.}}} {{/vendorExtensions.customHeaders}} diff --git a/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache b/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache new file mode 100644 index 00000000000..2da1302cbec --- /dev/null +++ b/modules/openapi-generator/src/main/resources/jetbrains-http-client/http-client.template.env.mustache @@ -0,0 +1,7 @@ +{ + "dev": { +{{#vendorExtensionsVariables}} + "{{.}}" : ""{{^-last}},{{/-last}} +{{/vendorExtensionsVariables}} + } +} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/jetbrains-http-client/queryParams.mustache b/modules/openapi-generator/src/main/resources/jetbrains-http-client/queryParams.mustache new file mode 100644 index 00000000000..6b4aae0c52e --- /dev/null +++ b/modules/openapi-generator/src/main/resources/jetbrains-http-client/queryParams.mustache @@ -0,0 +1 @@ +{{! Case where there is no query params, auth does everything}}{{^queryParams}}{{#authMethods}}{{#isKeyInQuery}}?{{keyParamName}}={{#lambda.doubleMustache}}{queryKey}{{/lambda.doubleMustache}}{{/isKeyInQuery}}{{/authMethods}}{{/queryParams}}{{#queryParams}}{{! If there are query params, auth has no logic}}{{#-first}}?{{/-first}}{{paramName}}={{=<% %>=}}{{<%paramName%>}}<%={{ }}=%>{{^-last}}&{{/-last}}{{#-last}}{{#authMethods}}{{#isKeyInQuery}}&{{keyParamName}}={{#lambda.doubleMustache}}{queryKey}{{/lambda.doubleMustache}}{{/isKeyInQuery}}{{/authMethods}}{{/-last}}{{/queryParams}} \ No newline at end of file diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/jetbrains/http/client/JetbrainsHttpClientClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/jetbrains/http/client/JetbrainsHttpClientClientCodegenTest.java index dd283de1bee..54fae7f36c2 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/jetbrains/http/client/JetbrainsHttpClientClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/jetbrains/http/client/JetbrainsHttpClientClientCodegenTest.java @@ -1,7 +1,7 @@ package org.openapitools.codegen.jetbrains.http.client; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; +import org.testng.annotations.Ignore; +import org.testng.annotations.Test; import org.openapitools.codegen.*; import org.openapitools.codegen.config.CodegenConfigurator; import org.openapitools.codegen.languages.JetbrainsHttpClientClientCodegen; @@ -16,7 +16,6 @@ import java.util.List; import static org.openapitools.codegen.TestUtils.assertFileExists; public class JetbrainsHttpClientClientCodegenTest { - @Test public void testBasicGenerationYaml() throws IOException { @@ -403,7 +402,7 @@ public class JetbrainsHttpClientClientCodegenTest { } @Test - @Disabled // For some reason this test fails during Docker image generation. Investigate one day. + @Ignore // For some reason this test fails during Docker image generation. Investigate one day. public void testBasicGenerationMultipleRequests() throws IOException { // Checking that each request example is present in the output file File output = Files.createTempDirectory("jetbrainstest_").toFile(); @@ -481,4 +480,300 @@ public class JetbrainsHttpClientClientCodegenTest { " \"channel\" : \"Android\"\n" + "}"); } + + @Test + public void testBasicGenerationQueryParams() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/SampleProjectWithAuthQuery.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis/DefaultApi.http"); + assertFileExists(path); + + // Checking with extra params + TestUtils.assertFileContains(path, "### Get User Info by Query Param\n" + + "## Get User Info by Query Param\n" + + "GET http://localhost:5000/v1/users/?page={{page}}&pUserId={{pUserId}}&api_key={{queryKey}}\n" + + "Accept: application/json\n" + + "Custom-Header: {{customHeader}}\n" + + "Another-Custom-Header: {{anotherCustomHeader}}"); + + // Checking without extra params + TestUtils.assertFileContains(path, "### Get User Info by User ID\n" + + "## Get User Info by User ID\n" + + "GET http://localhost:5000/v1/users/{{userId}}?api_key={{queryKey}}\n" + + "Accept: application/json\n" + + "strCode: {{strCode}}\n" + + "strCode2: {{strCode2}}"); + + // Checking with only auth + TestUtils.assertFileContains(path, "### Get User Info by User ID\n" + + "## Get User Info by User ID\n" + + "GET http://localhost:5000/v1/users/{{userId}}?api_key={{queryKey}}\n" + + "Accept: application/json\n" + + "strCode: {{strCode}}\n" + + "strCode2: {{strCode2}}"); + + // Checking with only param + TestUtils.assertFileContains(path, "### Update User Information\n" + + "## Update User Information\n" + + "PATCH http://localhost:5000/v1/users/{{userId}}?page={{page}}\n" + + "Content-Type: application/json\n" + + "Accept: application/json\n" + + "strCode: {{strCode}}\n" + + "strCode2: {{strCode2}}\n" + + "\n" + + "{\n" + + " \"firstName\" : \"Rebecca\"\n" + + "}"); + + // Checking when there is nothing + TestUtils.assertFileContains(path, "### Create New User\n" + + "## Example request for Get User\n" + + "POST http://localhost:5000/v1/user\n" + + "Content-Type: application/json\n" + + "Accept: application/json\n" + + "\n" + + "{\n" + + " \"id\": 777,\n" + + " \"firstName\": \"Alotta\",\n" + + " \"lastName\": \"Rotta\",\n" + + " \"email\": \"alotta.rotta@gmail.com\",\n" + + " \"dateOfBirth\": \"1997-10-31\",\n" + + " \"emailVerified\": true,\n" + + " \"createDate\": \"2019-08-24\"\n" + + "}"); + } + + @Test + public void testBasicGenerationHeaderParams() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/SampleProjectWithHeaderParams.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis/DefaultApi.http"); + assertFileExists(path); + + // Checking with extra headers and header security + TestUtils.assertFileContains(path, "### Get User Info by Query Param\n" + + "## Get User Info by Query Param\n" + + "GET http://localhost:5000/v1/users/?page={{page}}&pUserId={{pUserId}}\n" + + "Accept: application/json\n" + + "Custom-Header: {{customHeader}}\n" + + "Another-Custom-Header: {{anotherCustomHeader}}\n" + + "X-API-Key: {{apiKey}}"); + + // Checking with only header security + TestUtils.assertFileContains(path, "### Update User Information\n" + + "## Update User Information\n" + + "PATCH http://localhost:5000/v1/users/{{userId}}?page={{page}}\n" + + "Content-Type: application/json\n" + + "Accept: application/json\n" + + "strCode: {{strCode}}\n" + + "strCode2: {{strCode2}}\n" + + "X-API-Key: {{apiKey}}"); + + // Checking with only extra headers + TestUtils.assertFileContains(path, "### Get group by ID\n" + + "## Get group by ID\n" + + "GET http://localhost:5000/v1/groups/{{groupId}}\n" + + "Accept: application/json\n" + + "Custom-Header: {{customHeader}}\n" + + "Another-Custom-Header: {{anotherCustomHeader}}\n"); + + TestUtils.assertFileContains(path, "### Create New User\n" + + "## Example request for Get User\n" + + "POST http://localhost:5000/v1/user\n" + + "Content-Type: application/json\n" + + "Accept: application/json"); + } + + @Test + public void testTemplateEnvironmentFileGenerationEmpty() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/environmentgeneration/Simple.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis//http-client.template.env.json"); + assertFileExists(path); + + TestUtils.assertFileContains(path, "{\n" + + " \"dev\": {\n" + + " }\n" + + "}"); + } + + @Test + public void testTemplateEnvironmentFileGenerationPath() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/environmentgeneration/Path.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis//http-client.template.env.json"); + assertFileExists(path); + + TestUtils.assertFileContains(path, "{\n" + + " \"dev\": {\n" + + " \"resource\" : \"\"\n" + + " }\n" + + "}"); + } + + @Test + public void testTemplateEnvironmentFileGenerationQueryParam() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/environmentgeneration/QueryParam.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis//http-client.template.env.json"); + assertFileExists(path); + + TestUtils.assertFileContains(path, "{\n" + + " \"dev\": {\n" + + " \"laneRole\" : \"\",\n" + + " \"heroId\" : \"\"\n" + + " }\n" + + "}"); + } + + @Test + public void testTemplateEnvironmentFileGenerationHeader() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/environmentgeneration/Header.yaml") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis//http-client.template.env.json"); + assertFileExists(path); + + TestUtils.assertFileContains(path, "{\n" + + " \"dev\": {\n" + + " \"Custom-Header\" : \"\",\n" + + " \"Another-Custom-Header\" : \"\"\n" + + " }\n" + + "}"); + } + + @Test + public void testTemplateEnvironmentFileGenerationCustomVariable() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/environmentgeneration/CustomVariable.yaml") + .addAdditionalProperty(JetbrainsHttpClientClientCodegen.BODY_VARIABLES, "MY_VAR_NAME-MY_VAR_LAST_NAME") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis//http-client.template.env.json"); + assertFileExists(path); + + TestUtils.assertFileContains(path, "{\n" + + " \"dev\": {\n" + + " \"MY_VAR_LAST_NAME\" : \"\",\n" + + " \"MY_VAR_NAME\" : \"\"\n" + + " }\n" + + "}"); + } + + @Test + public void testTemplateEnvironmentFileGenerationCustomHeaders() throws IOException { + // Checking that each request example is present in the output file + File output = Files.createTempDirectory("jetbrainstest_").toFile(); + output.deleteOnExit(); + + final CodegenConfigurator configurator = new CodegenConfigurator() + .setGeneratorName("jetbrains-http-client") + .setInputSpec("src/test/resources/3_0/jetbrains/environmentgeneration/CustomHeaders.yaml") + .addAdditionalProperty(JetbrainsHttpClientClientCodegen.CUSTOM_HEADERS, "Cookie:X-API-KEY={{cookieKey}}&Accept-Encoding=gzip") + .setOutputDir(output.getAbsolutePath().replace("\\", "/")); + + final ClientOptInput clientOptInput = configurator.toClientOptInput(); + DefaultGenerator generator = new DefaultGenerator(); + List files = generator.opts(clientOptInput).generate(); + + files.forEach(File::deleteOnExit); + + Path path = Paths.get(output + "/Apis//http-client.template.env.json"); + assertFileExists(path); + + TestUtils.assertFileContains(path, "{\n" + + " \"dev\": {\n" + + " \"cookieKey\" : \"\"\n" + + " }\n" + + "}"); + } + } diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProject.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProject.yaml index 69a79b7eb14..1c5b66f2e5e 100644 --- a/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProject.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProject.yaml @@ -44,6 +44,13 @@ paths: tags: - basic parameters: + - description: Page length + name: page + in: query + required: false + schema: + type: string + example: 50 - description: Query Id. name: pUserId in: query diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProjectWithAuthQuery.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProjectWithAuthQuery.yaml new file mode 100644 index 00000000000..42ab3a7350c --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProjectWithAuthQuery.yaml @@ -0,0 +1,378 @@ +openapi: 3.1.0 +info: + title: Sample project + version: '1.0' + contact: + name: Julien Lengrand-Lambert + email: fake@email.com + url: 'https://github.com/jlengrand' + description: 'Sample API Check "API Key" ' + license: + name: Apache 2.0 + url: 'https://github.com/gcatanese' +servers: + - url: 'http://localhost:{port}/{version}' + description: dev server + variables: + port: + description: Port number + enum: + - '5000' + - '8080' + default: '5000' + version: + default: v1 + description: API version + - url: 'http://localhost:{port}/{version}' + description: test server + variables: + port: + description: Port number + enum: + - '5000' + - '8080' + default: '5000' + version: + default: v1 + description: API version +paths: + '/users/': + get: + summary: Get User Info by Query Param + operationId: get-users-query-id + description: Retrieve the information of the user with the matching user ID. + security: + - ApiKeyAuthQuery: [ ] + parameters: + - description: Page length + name: page + in: query + required: false + schema: + type: string + example: 50 + - description: Query Id. + name: pUserId + in: query + required: true + schema: + type: string + example: 888 + - description: Custom HTTP header + name: Custom-Header + in: header + schema: + type: string + - description: Custom HTTP header with default + name: Another-Custom-Header + in: header + schema: + type: string + default: abc + responses: + '200': + description: User Found + content: + application/json: + schema: + $ref: '#/components/schemas/User' + example: + id: schema-example + firstName: Alice + lastName: Smith333 + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' + examples: + Get User Alice Smith: + value: + id: 142 + firstName: Alice + lastName: Smith + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' + Get User Phil Smith: + value: + id: 143 + firstName: Phil + lastName: Smith + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' + '404': + description: User Not Found + '/users/{userId}': + parameters: + - schema: + type: integer + examples: + a: + value: 1 + summary: a summary + b: + value: 2 + summary: b summary + name: userId + in: path + required: true + description: Id of an existing user. + - schema: + type: string + default: code_one + name: strCode + in: header + description: Code as header + - schema: + type: string + name: strCode2 + in: header + description: Code as header2 + get: + summary: Get User Info by User ID + security: + - ApiKeyAuthQuery: [ ] + responses: + '200': + description: User Found + content: + application/json: + schema: + $ref: '#/components/schemas/User' + example: + id: 9998 + firstName: Alice9998 resp example + lastName: Smith9998 + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + createDate: '2019-08-24' + '404': + description: User Not Found + operationId: get-users-userId + description: Retrieve the information of the user with the matching user ID. + patch: + summary: Update User Information + deprecated: true + operationId: patch-users-userId + parameters: + - description: Page length + name: page + in: query + required: false + schema: + type: string + example: 50 + responses: + '200': + description: User Updated + content: + application/json: + schema: + $ref: '#/components/schemas/User' + examples: + Updated User Rebecca Baker: + value: + id: 13 + firstName: Rebecca + lastName: Baker + email: rebecca@gmail.com + dateOfBirth: '1985-10-02' + emailVerified: false + createDate: '2019-08-24' + '404': + description: User Not Found + '409': + description: Email Already Taken + description: Update the information of an existing user. + requestBody: + content: + application/json: + schema: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + description: >- + If a new email is given, the user's email verified property + will be set to false. + dateOfBirth: + type: string + examples: + Update First Name: + value: + firstName: Rebecca + Update Email: + value: + email: rebecca@gmail.com + Update Last Name & Date of Birth: + value: + lastName: Baker + dateOfBirth: '1985-10-02' + description: Patch user properties to update. + /user: + post: + summary: Create New User + operationId: post-user + responses: + '200': + description: User Created + content: + application/json: + schema: + $ref: '#/components/schemas/User' + examples: + basic: + $ref: '#/components/examples/get-user-basic' + '400': + description: Missing Required Information + '409': + description: Email Already Taken + requestBody: + content: + application/json: + schema: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + dateOfBirth: + type: string + format: date + required: + - firstName + - lastName + - email + - dateOfBirth + examples: + basic: + $ref: '#/components/examples/get-user-basic' + description: Post the necessary fields for the API to create a new user. + description: Create a new user. + '/groups/{groupId}': + get: + summary: Get group by ID + parameters: + - description: group Id + name: groupId + in: path + required: true + schema: + type: integer + default: 1 + responses: + '200': + description: Group Found + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + '404': + description: Group Not Found + operationId: get-groups-groupId + description: Get group of users + +components: + securitySchemes: + BasicAuth: + type: http + scheme: basic + BearerAuth: + type: http + scheme: bearer + ApiKeyAuth: + type: apiKey + name: X-API-Key + in: header + ApiKeyAuthQuery: + in: query + name: api_key + type: apiKey + schemas: + User: + title: User + type: object + description: '' + example: + id: 999 + firstName: Alice9 schema example + lastName: Smith9 + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + createDate: '2019-08-24' + properties: + id: + type: integer + description: Unique identifier for the given user. + example: 0 + firstName: + type: string + example: Alix + lastName: + type: string + example: Smith + email: + type: string + format: email + example: alix.smith@gmail.com + dateOfBirth: + type: string + format: date + example: '1997-10-31' + emailVerified: + type: boolean + description: Set to true if the user's email has been verified. + example: true + createDate: + type: string + format: date + description: The date that the user was created. + example: '2019-08-24' + required: + - id + - firstName + - lastName + - email + - emailVerified + Group: + title: Group + type: object + description: '' + properties: + id: + type: integer + description: Unique identifier for the given group. + name: + type: string + example: admin + required: + - id + - name + examples: + get-user-basic: + summary: Example request for Get User + value: + id: 777 + firstName: Alotta + lastName: Rotta + email: alotta.rotta@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + createDate: '2019-08-24' +tags: + - name: basic + description: Basic tag + - name: advanced + description: Advanced tag diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProjectWithHeaderParams.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProjectWithHeaderParams.yaml new file mode 100644 index 00000000000..9fea40cf430 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/SampleProjectWithHeaderParams.yaml @@ -0,0 +1,391 @@ +openapi: 3.1.0 +info: + title: Sample project + version: '1.0' + contact: + name: Julien Lengrand-Lambert + email: fake@email.com + url: 'https://github.com/jlengrand' + description: 'Sample API Check "API Key" ' + license: + name: Apache 2.0 + url: 'https://github.com/gcatanese' +servers: + - url: 'http://localhost:{port}/{version}' + description: dev server + variables: + port: + description: Port number + enum: + - '5000' + - '8080' + default: '5000' + version: + default: v1 + description: API version + - url: 'http://localhost:{port}/{version}' + description: test server + variables: + port: + description: Port number + enum: + - '5000' + - '8080' + default: '5000' + version: + default: v1 + description: API version +paths: + '/users/': + get: + summary: Get User Info by Query Param + operationId: get-users-query-id + description: Retrieve the information of the user with the matching user ID. + security: + - ApiKeyAuth: [ ] + parameters: + - description: Page length + name: page + in: query + required: false + schema: + type: string + example: 50 + - description: Query Id. + name: pUserId + in: query + required: true + schema: + type: string + example: 888 + - description: Custom HTTP header + name: Custom-Header + in: header + schema: + type: string + - description: Custom HTTP header with default + name: Another-Custom-Header + in: header + schema: + type: string + default: abc + responses: + '200': + description: User Found + content: + application/json: + schema: + $ref: '#/components/schemas/User' + example: + id: schema-example + firstName: Alice + lastName: Smith333 + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' + examples: + Get User Alice Smith: + value: + id: 142 + firstName: Alice + lastName: Smith + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' + Get User Phil Smith: + value: + id: 143 + firstName: Phil + lastName: Smith + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + signUpDate: '2019-08-24' + '404': + description: User Not Found + '/users/{userId}': + parameters: + - schema: + type: integer + examples: + a: + value: 1 + summary: a summary + b: + value: 2 + summary: b summary + name: userId + in: path + required: true + description: Id of an existing user. + - schema: + type: string + default: code_one + name: strCode + in: header + description: Code as header + - schema: + type: string + name: strCode2 + in: header + description: Code as header2 + get: + summary: Get User Info by User ID + security: + - ApiKeyAuth: [ ] + responses: + '200': + description: User Found + content: + application/json: + schema: + $ref: '#/components/schemas/User' + example: + id: 9998 + firstName: Alice9998 resp example + lastName: Smith9998 + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + createDate: '2019-08-24' + '404': + description: User Not Found + operationId: get-users-userId + description: Retrieve the information of the user with the matching user ID. + patch: + summary: Update User Information + deprecated: true + operationId: patch-users-userId + security: + - ApiKeyAuth: [ ] + parameters: + - description: Page length + name: page + in: query + required: false + schema: + type: string + example: 50 + responses: + '200': + description: User Updated + content: + application/json: + schema: + $ref: '#/components/schemas/User' + examples: + Updated User Rebecca Baker: + value: + id: 13 + firstName: Rebecca + lastName: Baker + email: rebecca@gmail.com + dateOfBirth: '1985-10-02' + emailVerified: false + createDate: '2019-08-24' + '404': + description: User Not Found + '409': + description: Email Already Taken + description: Update the information of an existing user. + requestBody: + content: + application/json: + schema: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + description: >- + If a new email is given, the user's email verified property + will be set to false. + dateOfBirth: + type: string + examples: + Update First Name: + value: + firstName: Rebecca + Update Email: + value: + email: rebecca@gmail.com + Update Last Name & Date of Birth: + value: + lastName: Baker + dateOfBirth: '1985-10-02' + description: Patch user properties to update. + /user: + post: + summary: Create New User + operationId: post-user + responses: + '200': + description: User Created + content: + application/json: + schema: + $ref: '#/components/schemas/User' + examples: + basic: + $ref: '#/components/examples/get-user-basic' + '400': + description: Missing Required Information + '409': + description: Email Already Taken + requestBody: + content: + application/json: + schema: + type: object + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + dateOfBirth: + type: string + format: date + required: + - firstName + - lastName + - email + - dateOfBirth + examples: + basic: + $ref: '#/components/examples/get-user-basic' + description: Post the necessary fields for the API to create a new user. + description: Create a new user. + '/groups/{groupId}': + get: + summary: Get group by ID + parameters: + - description: group Id + name: groupId + in: path + required: true + schema: + type: integer + default: 1 + - description: Custom HTTP header + name: Custom-Header + in: header + schema: + type: string + - description: Custom HTTP header with default + name: Another-Custom-Header + in: header + schema: + type: string + default: abc + responses: + '200': + description: Group Found + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + '404': + description: Group Not Found + operationId: get-groups-groupId + description: Get group of users + +components: + securitySchemes: + BasicAuth: + type: http + scheme: basic + BearerAuth: + type: http + scheme: bearer + ApiKeyAuth: + type: apiKey + name: X-API-Key + in: header + ApiKeyAuthQuery: + in: query + name: api_key + type: apiKey + schemas: + User: + title: User + type: object + description: '' + example: + id: 999 + firstName: Alice9 schema example + lastName: Smith9 + email: alice.smith@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + createDate: '2019-08-24' + properties: + id: + type: integer + description: Unique identifier for the given user. + example: 0 + firstName: + type: string + example: Alix + lastName: + type: string + example: Smith + email: + type: string + format: email + example: alix.smith@gmail.com + dateOfBirth: + type: string + format: date + example: '1997-10-31' + emailVerified: + type: boolean + description: Set to true if the user's email has been verified. + example: true + createDate: + type: string + format: date + description: The date that the user was created. + example: '2019-08-24' + required: + - id + - firstName + - lastName + - email + - emailVerified + Group: + title: Group + type: object + description: '' + properties: + id: + type: integer + description: Unique identifier for the given group. + name: + type: string + example: admin + required: + - id + - name + examples: + get-user-basic: + summary: Example request for Get User + value: + id: 777 + firstName: Alotta + lastName: Rotta + email: alotta.rotta@gmail.com + dateOfBirth: '1997-10-31' + emailVerified: true + createDate: '2019-08-24' +tags: + - name: basic + description: Basic tag + - name: advanced + description: Advanced tag diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/CustomHeaders.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/CustomHeaders.yaml new file mode 100644 index 00000000000..f0782835b28 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/CustomHeaders.yaml @@ -0,0 +1,2461 @@ +openapi: 3.0.3 +info: + title: OpenDota API + description: | + # Introduction + The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays. + + You can find data that can be used to convert hero and ability IDs and other information provided by the API from the [dotaconstants](https://github.com/odota/dotaconstants) repository. + + **Beginning 2018-04-22, the OpenDota API is limited to 50,000 free calls per month and 60 requests/minute** We offer a Premium Tier with unlimited API calls and higher rate limits. Check out the [API page](https://www.opendota.com/api-keys) to learn more. + version: 20.0.0 +servers: + - url: https://api.opendota.com/api +components: + securitySchemes: + api_key: + type: apiKey + name: api_key + description: |- + Use an API key to remove monthly call limits and to receive higher rate limits. [Learn more and get your API key](https://www.opendota.com/api-keys). + Usage example: https://api.opendota.com/api/matches/271145478?api_key=YOUR-API-KEY + + API key can also be sent using the authorization header "Authorization: Bearer YOUR-API-KEY" + + in: query + schemas: + MatchResponse: + title: MatchResponse + type: object + properties: + match_id: + description: The ID number of the match assigned by Valve + type: integer + barracks_status_dire: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + barracks_status_radiant: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + chat: + description: Array containing information on the chat of the game + type: array + items: + type: object + properties: + time: + description: Time in seconds at which the message was said + type: integer + unit: + description: Name of the player who sent the message + type: string + key: + description: The message the player sent + type: string + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + cluster: + description: cluster + type: integer + cosmetics: + description: cosmetics + type: object + additionalProperties: + type: integer + dire_score: + description: Final score for Dire (number of kills on Radiant) + type: integer + draft_timings: + description: draft_timings + type: array + items: + description: draft_stage + type: object + properties: + order: + description: order + type: integer + pick: + description: pick + type: boolean + active_team: + description: active_team + type: integer + hero_id: + description: The ID value of the hero played + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + extra_time: + description: extra_time + type: integer + total_time_taken: + description: total_time_taken + type: integer + duration: + description: Duration of the game in seconds + type: integer + engine: + description: engine + type: integer + first_blood_time: + description: Time in seconds at which first blood occurred + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + human_players: + description: Number of human players in the game + type: integer + leagueid: + description: leagueid + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + match_seq_num: + description: match_seq_num + type: integer + negative_votes: + description: Number of negative votes the replay received in the in-game client + type: integer + objectives: + description: objectives + type: array + items: + type: object + picks_bans: + description: Array containing information on the draft. Each item contains a boolean relating to whether the choice is a pick or a ban, the hero ID, the team the picked or banned it, and the order. + type: array + items: + type: object + properties: + is_pick: + description: Boolean indicating whether the choice is a pick or a ban + type: boolean + hero_id: + description: The hero ID + type: integer + team: + description: The team that picked or banned the hero + type: integer + order: + description: The order of the pick or ban + type: integer + positive_votes: + description: Number of positive votes the replay received in the in-game client + type: integer + radiant_gold_adv: + description: 'Array of the Radiant gold advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their gold disadvantage. ' + type: array + items: + type: number + radiant_score: + description: Final score for Radiant (number of kills on Radiant) + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + radiant_xp_adv: + description: 'Array of the Radiant experience advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their experience disadvantage. ' + type: array + items: + type: number + start_time: + description: The Unix timestamp at which the game started + type: integer + teamfights: + description: teamfights + type: array + items: + type: array + items: + type: object + tower_status_dire: + description: Bitmask. An integer that represents a binary of which Dire towers are still standing. + type: integer + tower_status_radiant: + description: Bitmask. An integer that represents a binary of which Radiant towers are still standing. + type: integer + version: + description: Parse version, used internally by OpenDota + type: integer + replay_salt: + description: replay_salt + type: integer + series_id: + description: series_id + type: integer + series_type: + description: series_type + type: integer + radiant_team: + description: radiant_team + type: object + dire_team: + description: dire_team + type: object + league: + description: league + type: object + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + players: + description: Array of information on individual players + type: array + items: + description: player + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + ability_upgrades_arr: + description: An array describing how abilities were upgraded + type: array + items: + type: integer + ability_uses: + description: Object containing information on how many times the played used their abilities + type: object + ability_targets: + description: Object containing information on who the player used their abilities on + type: object + damage_targets: + description: Object containing information on how and how much damage the player dealt to other heroes + type: object + account_id: + description: account_id + type: integer + actions: + description: Object containing information on how many and what type of actions the player issued to their hero + type: object + additional_units: + description: Object containing information on additional units the player had under their control + type: array + items: + type: object + nullable: true + assists: + description: Number of assists the player had + type: integer + backpack_0: + description: Item in backpack slot 0 + type: integer + backpack_1: + description: Item in backpack slot 1 + type: integer + backpack_2: + description: Item in backpack slot 2 + type: integer + buyback_log: + description: Array containing information about buybacks + type: array + items: + type: object + properties: + time: + description: Time in seconds the buyback occurred + type: integer + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + camps_stacked: + description: Number of camps stacked + type: integer + connection_log: + description: Array containing information about the player's disconnections and reconnections + type: array + items: + type: object + properties: + time: + description: Game time in seconds the event ocurred + type: integer + event: + description: Event that occurred + type: string + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + creeps_stacked: + description: Number of creeps stacked + type: integer + damage: + description: Object containing information about damage dealt by the player to different units + type: object + damage_inflictor: + description: Object containing information about about the sources of this player's damage to heroes + type: object + damage_inflictor_received: + description: Object containing information about the sources of damage received by this player from heroes + type: object + damage_taken: + description: Object containing information about from whom the player took damage + type: object + deaths: + description: Number of deaths + type: integer + denies: + description: Number of denies + type: integer + dn_t: + description: Array containing number of denies at different times of the match + type: array + items: + type: integer + gold: + description: Gold at the end of the game + type: integer + gold_per_min: + description: Gold Per Minute obtained by this player + type: integer + gold_reasons: + description: Object containing information on how the player gainined gold over the course of the match + type: object + gold_spent: + description: How much gold the player spent + type: integer + gold_t: + description: Array containing total gold at different times of the match + type: array + items: + type: integer + hero_damage: + description: Hero Damage Dealt + type: integer + hero_healing: + description: Hero Healing Done + type: integer + hero_hits: + description: Object containing information on how many ticks of damages the hero inflicted with different spells and damage inflictors + type: object + hero_id: + description: The ID value of the hero played + type: integer + item_0: + description: Item in the player's first slot + type: integer + item_1: + description: Item in the player's second slot + type: integer + item_2: + description: Item in the player's third slot + type: integer + item_3: + description: Item in the player's fourth slot + type: integer + item_4: + description: Item in the player's fifth slot + type: integer + item_5: + description: Item in the player's sixth slot + type: integer + item_uses: + description: Object containing information about how many times a player used items + type: object + kill_streaks: + description: Object containing information about the player's killstreaks + type: object + killed: + description: Object containing information about what units the player killed + type: object + killed_by: + description: Object containing information about who killed the player + type: object + kills: + description: Number of kills + type: integer + kills_log: + description: Array containing information on which hero the player killed at what time + type: array + items: + type: object + properties: + time: + description: Time in seconds the player killed the hero + type: integer + key: + description: Hero killed + type: string + lane_pos: + description: Object containing information on lane position + type: object + last_hits: + description: Number of last hits + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + level: + description: Level at the end of the game + type: integer + lh_t: + description: Array describing last hits at each minute in the game + type: array + items: + type: integer + life_state: + description: life_state + type: object + max_hero_hit: + description: Object with information on the highest damage instance the player inflicted + type: object + multi_kills: + description: Object with information on the number of the number of multikills the player had + type: object + obs: + description: Object with information on where the player placed observer wards. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + obs_left_log: + description: obs_left_log + type: array + items: + type: object + obs_log: + description: Object containing information on when and where the player placed observer wards + type: array + items: + type: object + obs_placed: + description: Total number of observer wards placed + type: integer + party_id: + description: party_id + type: integer + permanent_buffs: + description: 'Array describing permanent buffs the player had at the end of the game. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/permanent_buffs.json' + type: array + items: + type: object + pings: + description: Total number of pings + type: integer + purchase: + description: Object containing information on the items the player purchased + type: object + purchase_log: + description: Object containing information on when items were purchased + type: array + items: + type: object + properties: + time: + description: Time in seconds the item was bought + type: integer + key: + description: String item ID + type: string + charges: + description: Integer amount of charges + type: integer + rune_pickups: + description: Number of runes picked up + type: integer + runes: + description: Object with information about which runes the player picked up + type: object + additionalProperties: + type: integer + runes_log: + description: Array with information on when runes were picked up + type: array + items: + type: object + properties: + time: + description: Time in seconds rune picked up + type: integer + key: + description: key + type: integer + sen: + description: Object with information on where sentries were placed. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + sen_left_log: + description: Array containing information on when and where the player placed sentries + type: array + items: + type: object + sen_log: + description: Array with information on when and where sentries were placed by the player + type: array + items: + type: object + sen_placed: + description: How many sentries were placed by the player + type: integer + stuns: + description: Total stun duration of all stuns by the player + type: number + times: + description: Time in seconds corresponding to the time of entries of other arrays in the match. + type: array + items: + type: integer + tower_damage: + description: Total tower damage done by the player + type: integer + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + xp_reasons: + description: Object containing information on the sources of this player's experience + type: object + xp_t: + description: Experience at each minute of the game + type: array + items: + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + last_login: + description: Time of player's last login + type: string + format: date-time + nullable: true + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: Start time of the match in seconds since 1970 + type: integer + duration: + description: Duration of the game in seconds + type: integer + cluster: + description: cluster + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + patch: + description: Integer representing the patch the game was played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + isRadiant: + description: Boolean for whether or not the player is on Radiant + type: boolean + win: + description: Binary integer representing whether or not the player won + type: integer + lose: + description: Binary integer representing whether or not the player lost + type: integer + total_gold: + description: Total gold at the end of the game + type: integer + total_xp: + description: Total experience at the end of the game + type: integer + kills_per_min: + description: Number of kills per minute + type: number + kda: + description: kda + type: number + abandons: + description: abandons + type: integer + neutral_kills: + description: Total number of neutral creeps killed + type: integer + tower_kills: + description: Total number of tower kills the player had + type: integer + courier_kills: + description: Total number of courier kills the player had + type: integer + lane_kills: + description: Total number of lane creeps killed by the player + type: integer + hero_kills: + description: Total number of heroes killed by the player + type: integer + observer_kills: + description: Total number of observer wards killed by the player + type: integer + sentry_kills: + description: Total number of sentry wards killed by the player + type: integer + roshan_kills: + description: Total number of roshan kills (last hit on roshan) the player had + type: integer + necronomicon_kills: + description: Total number of Necronomicon creeps killed by the player + type: integer + ancient_kills: + description: Total number of Ancient creeps killed by the player + type: integer + buyback_count: + description: Total number of buyback the player used + type: integer + observer_uses: + description: Number of observer wards used + type: integer + sentry_uses: + description: Number of sentry wards used + type: integer + lane_efficiency: + description: lane_efficiency + type: number + lane_efficiency_pct: + description: lane_efficiency_pct + type: number + lane: + description: Integer referring to which lane the hero laned in + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean referring to whether or not the player roamed + type: boolean + nullable: true + purchase_time: + description: Object with information on when the player last purchased an item + type: object + first_purchase_time: + description: Object with information on when the player first puchased an item + type: object + item_win: + description: Object with information on whether or not the item won + type: object + item_usage: + description: 'Object containing binary integers the tell whether the item was purchased by the player (note: this is always 1)' + type: object + purchase_tpscroll: + description: Total number of TP scrolls purchased by the player + type: integer + actions_per_min: + description: Actions per minute + type: integer + life_state_dead: + description: life_state_dead + type: integer + rank_tier: + description: The rank tier of the player. Tens place indicates rank, ones place indicates stars. + type: integer + cosmetics: + description: cosmetics + type: array + items: + type: object + properties: + item_id: + type: integer + name: + type: string + prefab: + type: string + creation_date: + type: string + format: date-time + nullable: true + image_inventory: + type: string + nullable: true + image_path: + type: string + nullable: true + item_description: + type: string + nullable: true + item_name: + type: string + item_rarity: + type: string + nullable: true + item_type_name: + type: string + nullable: true + used_by_heroes: + type: string + nullable: true + benchmarks: + description: Object containing information on certain benchmarks like GPM, XPM, KDA, tower damage, etc + type: object + patch: + description: Information on the patch version the game is played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + all_word_counts: + description: Word counts of the all chat messages in the player's games + type: object + my_word_counts: + description: Word counts of the player's all chat messages + type: object + throw: + description: Maximum gold advantage of the player's team if they lost the match + type: integer + comeback: + description: Maximum gold disadvantage of the player's team if they won the match + type: integer + loss: + description: Maximum gold disadvantage of the player's team if they lost the match + type: integer + win: + description: Maximum gold advantage of the player's team if they won the match + type: integer + replay_url: + description: replay_url + type: string + PlayersByRankResponse: + title: PlayersByRankResponse + type: array + items: + type: object + properties: + account_id: + description: account_id + type: number + rank_tier: + description: Integer indicating the rank/medal of the player + type: number + fh_unavailable: + description: Indicates if we were unable to fetch full history for this player due to privacy settings + type: boolean + nullable: true + PlayersResponse: + title: PlayerResponse + type: object + properties: + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + nullable: true + rank_tier: + description: rank_tier + type: number + nullable: true + leaderboard_rank: + description: leaderboard_rank + type: number + nullable: true + mmr_estimate: + description: mmr_estimate + type: object + properties: + estimate: + description: estimate + type: number + nullable: true + profile: + description: profile + type: object + properties: + account_id: + description: account_id + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + plus: + description: Boolean indicating status of current Dota Plus subscription + type: boolean + cheese: + description: cheese + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + is_contributor: + description: Boolean indicating if the user contributed to the development of OpenDota + type: boolean + default: false + is_subscriber: + description: Boolean indicating if the user subscribed to OpenDota + type: boolean + default: false + PlayerWinLossResponse: + title: PlayerWinLossResponse + type: object + properties: + win: + description: Number of wins + type: integer + lose: + description: Number of loses + type: integer + PlayerRecentMatchesResponse: + title: PlayerRecentMatchesResponse + description: match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Start time of the match in seconds elapsed since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the match + type: integer + deaths: + description: Total deaths the player had at the end of the match + type: integer + assists: + description: Total assists the player had at the end of the match + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High). If the skill is unknown, will return null. + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + gold_per_min: + description: Average gold per minute of the player + type: integer + hero_damage: + description: Total hero damage to enemy heroes + type: integer + hero_healing: + description: Total healing of ally heroes + type: integer + last_hits: + description: Total last hits the player had at the end of the match + type: integer + lane: + description: Integer corresponding to which lane the player laned in for the match + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean describing whether or not the player roamed + type: boolean + nullable: true + cluster: + description: cluster + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the players party. If not in a party, will return 1. + type: integer + nullable: true + PlayerMatchesResponse: + title: PlayerMatchesResponse + description: Object containing information on the match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Time the game started in seconds since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the game + type: integer + deaths: + description: Total deaths the player had at the end of the game + type: integer + assists: + description: Total assists the player had at the end of the game + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the player's party + type: integer + nullable: true + PlayerHeroesResponse: + title: PlayerHeroesResponse + description: hero + type: object + properties: + hero_id: + description: The ID value of the hero played + type: string + last_played: + description: last_played + type: integer + games: + description: games + type: integer + win: + description: win + type: integer + with_games: + description: with_games + type: integer + with_win: + description: with_win + type: integer + against_games: + description: against_games + type: integer + against_win: + description: against_win + type: integer + PlayerPeersResponse: + title: PlayerPeersResponse + type: object + properties: + account_id: + description: account_id + type: integer + last_played: + description: last_played + type: integer + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + with_xpm_sum: + description: with_xpm_sum + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + is_contributor: + description: is_contributor + type: boolean + is_subscriber: + description: is_subscriber + type: boolean + last_login: + description: last_login + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + PlayerProsResponse: + title: PlayerProsResponse + type: object + properties: + account_id: + description: account_id + type: integer + name: + description: name + type: string + country_code: + description: country_code + type: string + fantasy_role: + description: fantasy_role + type: integer + team_id: + description: team_id + type: integer + team_name: + description: team_name + type: string + nullable: true + team_tag: + description: team_tag + type: string + nullable: true + is_locked: + description: is_locked + type: boolean + is_pro: + description: is_pro + type: boolean + locked_until: + description: locked_until + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + nullable: true + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + last_played: + description: last_played + type: integer + nullable: true + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + nullable: true + with_xpm_sum: + description: with_xpm_sum + type: integer + nullable: true + PlayerTotalsResponse: + title: PlayerTotalsResponse + type: object + properties: + field: + description: field + type: string + 'n': + description: number + type: integer + sum: + description: sum + type: number + PlayerCountsResponse: + title: PlayerCountsResponse + type: object + properties: + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: object + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: object + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: object + lane_role: + description: lane_role + type: object + region: + description: Integer corresponding to the region the game was played on + type: object + patch: + description: patch + type: object + PlayerWardMapResponse: + title: PlayerWardMapResponse + type: object + properties: + obs: + description: obs + type: object + sen: + description: sen + type: object + PlayerWordCloudResponse: + title: PlayerWordCloudResponse + type: object + properties: + my_word_counts: + description: my_word_counts + type: object + all_word_counts: + description: all_word_counts + type: object + PlayerRatingsResponse: + title: PlayerRatingsResponse + type: object + properties: + account_id: + description: account_id + type: integer + match_id: + description: match_id + type: integer + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + time: + description: time + type: integer + PlayerRankingsResponse: + title: PlayerRankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + score: + description: hero_score + type: number + percent_rank: + description: percent_rank + type: number + card: + description: numeric_rank + type: integer + TeamObjectResponse: + title: TeamObjectResponse + type: object + properties: + team_id: + description: Team's identifier + type: integer + rating: + description: The Elo rating of the team + type: number + wins: + description: The number of games won by this team + type: integer + losses: + description: The number of losses by this team + type: integer + last_match_time: + description: The Unix timestamp of the last match played by this team + type: integer + name: + description: Team name, eg. 'Newbee' + type: string + tag: + description: The team tag/abbreviation + type: string + MatchObjectResponse: + title: MatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + radiant_team_id: + description: The Radiant's team_id + type: integer + radiant_name: + description: The Radiant's team name + type: string + dire_team_id: + description: The Dire's team_id + type: integer + dire_name: + description: The Dire's team name + type: string + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + series_id: + description: Identifier for the series of the match + type: integer + series_type: + description: Type of series the match was + type: integer + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + TeamMatchObjectResponse: + title: TeamMatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + cluster: + description: cluster + type: integer + opposing_team_id: + description: Opposing team identifier + type: integer + opposing_team_name: + description: Opposing team name, e.g. 'Evil Geniuses' + type: string + nullable: true + opposing_team_logo: + description: Opposing team logo url + type: string + HeroObjectResponse: + title: HeroObjectResponse + type: object + properties: + id: + description: Numeric identifier for the hero object + type: integer + name: + description: Dota hero command name, e.g. 'npc_dota_hero_antimage' + type: string + localized_name: + description: Hero name, e.g. 'Anti-Mage' + type: string + primary_attr: + description: Hero primary shorthand attribute name, e.g. 'agi' + type: string + attack_type: + description: Hero attack type, either 'Melee' or 'Ranged' + type: string + roles: + type: array + items: + description: A hero's role in the game + type: string + PlayerObjectResponse: + title: PlayerObjectResponse + type: object + properties: + account_id: + description: Player's account identifier + type: integer + steamid: + description: Player's steam identifier + type: string + avatar: + description: Steam picture URL (small picture) + type: string + avatarmedium: + description: Steam picture URL (medium picture) + type: string + avatarfull: + description: Steam picture URL (full picture) + type: string + profileurl: + description: Steam profile URL + type: string + personaname: + description: Player's Steam name + type: string + last_login: + description: Date and time of last login to OpenDota + type: string + format: date-time + full_history_time: + description: Date and time of last request to refresh player's match history + type: string + format: date-time + cheese: + description: Amount of dollars the player has donated to OpenDota + type: integer + fh_unavailable: + description: Whether the refresh of player' match history failed + type: boolean + loccountrycode: + description: Player's country identifier, e.g. US + type: string + name: + description: Verified player name, e.g. 'Miracle-' + type: string + country_code: + description: Player's country code + type: string + fantasy_role: + description: 'Player''s ingame role (core: 1 or support: 2)' + type: integer + team_id: + description: Player's team identifier + type: integer + team_name: + description: Player's team name, e.g. 'Evil Geniuses' + type: string + team_tag: + description: Player's team shorthand tag, e.g. 'EG' + type: string + is_locked: + description: Whether the roster lock is active + type: boolean + is_pro: + description: Whether the player is professional or not + type: boolean + locked_until: + description: When the roster lock will end + type: integer + LeagueObjectResponse: + title: LeagueObjectResponse + type: object + properties: + leagueid: + description: leagueid + type: integer + ticket: + description: ticket + type: string + banner: + description: banner + type: string + tier: + description: tier + type: string + name: + description: name + type: string + PublicMatchesResponse: + title: PublicMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + match_seq_num: + description: match_seq_num + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: start_time + type: integer + duration: + description: Duration of the game in seconds + type: integer + radiant_team: + description: radiant_team + type: string + dire_team: + description: dire_team + type: string + ParsedMatchesResponse: + title: ParsedMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + MetadataResponse: + title: MetadataResponse + type: object + properties: + banner: + description: banner + type: object + nullable: true + DistributionsResponse: + title: DistributionsResponse + type: object + properties: + ranks: + description: ranks + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + mmr: + description: mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + country_mmr: + description: country_mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + loccountrycode: + description: loccountrycode + type: string + nullable: true + count: + description: count + type: integer + avg: + description: avg + type: string + common: + description: common + type: string + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + SearchResponse: + title: SearchResponse + type: object + properties: + account_id: + description: account_id + type: integer + avatarfull: + description: avatarfull + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_match_time: + description: last_match_time. May not be present or null. + type: string + similarity: + description: similarity + type: number + RankingsResponse: + title: RankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + rankings: + description: rankings + type: array + items: + type: object + properties: + account_id: + description: account_id + type: integer + score: + description: score + type: number + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + rank_tier: + description: rank_tier + type: integer + nullable: true + BenchmarksResponse: + title: BenchmarksResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + result: + description: result + type: object + properties: + gold_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + xp_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + kills_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + last_hits_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_damage_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_healing_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + tower_damage: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: integer + HeroStatsResponse: + title: HeroStatsResponse + type: object + properties: + id: + description: id + type: integer + name: + description: name + type: string + localized_name: + description: localized_name + type: string + img: + description: img + type: string + icon: + description: icon + type: string + pro_win: + description: pro_win + type: integer + pro_pick: + description: pro_pick + type: integer + hero_id: + description: The ID value of the hero played + type: integer + pro_ban: + description: pro_ban + type: integer + 1_pick: + description: Herald picks + type: integer + 1_win: + description: Herald wins + type: integer + 2_pick: + description: Guardian picks + type: integer + 2_win: + description: Guardian wins + type: integer + 3_pick: + description: Crusader picks + type: integer + 3_win: + description: Crusader wins + type: integer + 4_pick: + description: Archon picks + type: integer + 4_win: + description: Archon wins + type: integer + 5_pick: + description: Legend picks + type: integer + 5_win: + description: Legend wins + type: integer + 6_pick: + description: Ancient picks + type: integer + 6_win: + description: Ancient wins + type: integer + 7_pick: + description: Divine picks + type: integer + 7_win: + description: Divine wins + type: integer + 8_pick: + description: Immortal picks + type: integer + 8_win: + description: Immortal wins + type: integer + turbo_pick: + description: Picks in Turbo mode this month + type: integer + turbo_win: + description: Wins in Turbo mode this month + type: integer + HeroMatchupsResponse: + title: HeroMatchupsResponse + type: object + properties: + hero_id: + description: Numeric identifier for the hero object + type: integer + games_played: + description: Number of games played + type: integer + wins: + description: Number of games won + type: integer + HeroDurationsResponse: + title: HeroDurationsResponse + type: object + properties: + duration_bin: + description: Lower bound of number of seconds the match lasted + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + HeroItemPopularityResponse: + title: HeroItemPopularityResponse + type: object + properties: + start_game_items: + description: Items bought before game started + type: object + properties: + item: + description: Number of item bought + type: integer + early_game_items: + description: Items bought in the first 10 min of the game, with cost at least 700 + type: object + properties: + item: + description: Number of item bought + type: integer + mid_game_items: + description: Items bought between 10 and 25 min of the game, with cost at least 2000 + type: object + properties: + item: + description: Number of item bought + type: integer + late_game_items: + description: Items bought at least 25 min after game started, with cost at least 4000 + type: object + properties: + item: + description: Number of item bought + type: integer + TeamPlayersResponse: + title: TeamPlayersResponse + type: object + properties: + account_id: + description: The player account ID + type: string + name: + description: The player name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + is_current_team_member: + description: If this player is on the current roster + type: boolean + TeamHeroesResponse: + title: TeamHeroesResponse + type: object + properties: + hero_id: + description: The hero ID + type: integer + name: + description: The hero name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + ReplaysResponse: + title: ReplaysResponse + type: object + properties: + match_id: + description: match_id + type: integer + cluster: + description: cluster + type: integer + replay_salt: + description: replay_salt + type: integer + RecordsResponse: + title: RecordsResponse + type: object + properties: + match_id: + description: match_id + type: string + start_time: + description: start_time + type: string + hero_id: + description: The ID value of the hero played + type: string + score: + description: score + type: string + ScenarioItemTimingsResponse: + title: ScenarioItemTimingsResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + item: + description: Purchased item + type: string + time: + description: Ingame time in seconds before the item was purchased + type: integer + games: + description: The number of games where the hero bought this item before this time + type: string + wins: + description: The number of games won where the hero bought this item before this time + type: string + ScenarioLaneRolesResponse: + title: ScenarioLaneRolesResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + lane_role: + description: The hero's lane role + type: integer + time: + description: Maximum game length in seconds + type: integer + games: + description: The number of games where the hero played in this lane role + type: string + wins: + description: The number of games won where the hero played in this lane role + type: string + ScenarioMiscResponse: + title: ScenarioMiscResponse + type: object + properties: + scenario: + description: The scenario's name or description + type: string + is_radiant: + description: Boolean indicating whether Radiant executed this scenario + type: boolean + region: + description: Region the game was played in + type: integer + games: + description: The number of games where this scenario occurred + type: string + wins: + description: The number of games won where this scenario occured + type: string + SchemaResponse: + title: SchemaResponse + type: object + properties: + table_name: + description: table_name + type: string + column_name: + description: column_name + type: string + data_type: + description: data_type + type: string + parameters: + matchIdParam: + name: match_id + in: path + required: true + schema: + type: integer + accountIdParam: + name: account_id + in: path + description: Steam32 account ID + required: true + schema: + type: integer + teamIdPathParam: + name: team_id + in: path + description: Team ID + required: true + schema: + type: integer + leagueIdPathParam: + name: league_id + in: path + description: League ID + required: true + schema: + type: integer + heroIdPathParam: + name: hero_id + in: path + description: Hero ID + required: true + schema: + type: integer + fieldParam: + name: field + in: path + description: Field to aggregate on + required: true + schema: + type: string + limitParam: + name: limit + in: query + description: Number of matches to limit to + required: false + schema: + type: integer + offsetParam: + name: offset + in: query + description: Number of matches to offset start by + required: false + schema: + type: integer + projectParam: + name: project + in: query + description: Fields to project (array) + required: false + schema: + type: string + winParam: + name: win + in: query + description: Whether the player won + required: false + schema: + type: integer + patchParam: + name: patch + in: query + description: Patch ID + required: false + schema: + type: integer + gameModeParam: + name: game_mode + in: query + description: Game Mode ID + required: false + schema: + type: integer + lobbyTypeParam: + name: lobby_type + in: query + description: Lobby type ID + required: false + schema: + type: integer + regionParam: + name: region + in: query + description: Region ID + required: false + schema: + type: integer + dateParam: + name: date + in: query + description: Days previous + required: false + schema: + type: integer + laneRoleParam: + name: lane_role + in: query + description: Lane Role ID + required: false + schema: + type: integer + heroIdParam: + name: hero_id + in: query + description: Hero ID + required: false + schema: + type: integer + isRadiantParam: + name: is_radiant + in: query + description: Whether the player was radiant + required: false + schema: + type: integer + withHeroIdParam: + name: with_hero_id + in: query + description: Hero IDs on the player's team (array) + required: false + schema: + type: integer + againstHeroIdParam: + name: against_hero_id + in: query + description: Hero IDs against the player's team (array) + required: false + schema: + type: integer + withAccountIdParam: + name: with_account_id + in: query + description: Account IDs on the player's team (array) + required: false + schema: + type: integer + againstAccountIdParam: + name: against_account_id + in: query + description: Account IDs against the player's team (array) + required: false + schema: + type: integer + includedAccountIdParam: + name: included_account_id + in: query + description: Account IDs in the match (array) + required: false + schema: + type: integer + excludedAccountIdParam: + name: excluded_account_id + in: query + description: Account IDs not in the match (array) + required: false + schema: + type: integer + significantParam: + name: significant + in: query + description: Whether the match was significant for aggregation purposes. Defaults to 1 (true), set this to 0 to return data for non-standard modes/matches. + required: false + schema: + type: integer + sortParam: + name: sort + in: query + description: The field to return matches sorted by in descending order + required: false + schema: + type: string + havingParam: + name: having + in: query + description: The minimum number of games played, for filtering hero stats + required: false + schema: + type: integer + minMmrParam: + name: min_mmr + in: query + description: Minimum average MMR + required: false + schema: + type: integer + maxMmrParam: + name: max_mmr + in: query + description: Maximum average MMR + required: false + schema: + type: integer + minTimeParam: + name: min_time + in: query + description: Minimum start time (Unix time) + required: false + schema: + type: integer + maxTimeParam: + name: max_time + in: query + description: Maximum start time (Unix time) + required: false + schema: + type: integer + mmrAscendingParam: + name: mmr_ascending + in: query + description: Order by MMR ascending + required: false + schema: + type: integer + mmrDescendingParam: + name: mmr_descending + in: query + description: Order by MMR descending + required: false + schema: + type: integer + lessThanMatchIdParam: + name: less_than_match_id + in: query + description: Get matches with a match ID lower than this value + required: false + schema: + type: integer + matchOverviewParam: + name: overview + in: query + description: Only fetch data required for match overview page + required: false + schema: + type: integer + scenarioParam: + name: scenario + in: query + description: pos_chat_1min,neg_chat_1min,courier_kill,first_blood + required: false + schema: + type: string +paths: + /constants: + get: + summary: GET /constants + description: Gets an array of available resources. + tags: + - constants + parameters: [] + responses: + '200': + description: Success + content: + application/json; charset=utf-8: + schema: + type: array + items: + title: ConstantsResponse + type: string \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/CustomVariable.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/CustomVariable.yaml new file mode 100644 index 00000000000..f0782835b28 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/CustomVariable.yaml @@ -0,0 +1,2461 @@ +openapi: 3.0.3 +info: + title: OpenDota API + description: | + # Introduction + The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays. + + You can find data that can be used to convert hero and ability IDs and other information provided by the API from the [dotaconstants](https://github.com/odota/dotaconstants) repository. + + **Beginning 2018-04-22, the OpenDota API is limited to 50,000 free calls per month and 60 requests/minute** We offer a Premium Tier with unlimited API calls and higher rate limits. Check out the [API page](https://www.opendota.com/api-keys) to learn more. + version: 20.0.0 +servers: + - url: https://api.opendota.com/api +components: + securitySchemes: + api_key: + type: apiKey + name: api_key + description: |- + Use an API key to remove monthly call limits and to receive higher rate limits. [Learn more and get your API key](https://www.opendota.com/api-keys). + Usage example: https://api.opendota.com/api/matches/271145478?api_key=YOUR-API-KEY + + API key can also be sent using the authorization header "Authorization: Bearer YOUR-API-KEY" + + in: query + schemas: + MatchResponse: + title: MatchResponse + type: object + properties: + match_id: + description: The ID number of the match assigned by Valve + type: integer + barracks_status_dire: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + barracks_status_radiant: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + chat: + description: Array containing information on the chat of the game + type: array + items: + type: object + properties: + time: + description: Time in seconds at which the message was said + type: integer + unit: + description: Name of the player who sent the message + type: string + key: + description: The message the player sent + type: string + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + cluster: + description: cluster + type: integer + cosmetics: + description: cosmetics + type: object + additionalProperties: + type: integer + dire_score: + description: Final score for Dire (number of kills on Radiant) + type: integer + draft_timings: + description: draft_timings + type: array + items: + description: draft_stage + type: object + properties: + order: + description: order + type: integer + pick: + description: pick + type: boolean + active_team: + description: active_team + type: integer + hero_id: + description: The ID value of the hero played + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + extra_time: + description: extra_time + type: integer + total_time_taken: + description: total_time_taken + type: integer + duration: + description: Duration of the game in seconds + type: integer + engine: + description: engine + type: integer + first_blood_time: + description: Time in seconds at which first blood occurred + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + human_players: + description: Number of human players in the game + type: integer + leagueid: + description: leagueid + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + match_seq_num: + description: match_seq_num + type: integer + negative_votes: + description: Number of negative votes the replay received in the in-game client + type: integer + objectives: + description: objectives + type: array + items: + type: object + picks_bans: + description: Array containing information on the draft. Each item contains a boolean relating to whether the choice is a pick or a ban, the hero ID, the team the picked or banned it, and the order. + type: array + items: + type: object + properties: + is_pick: + description: Boolean indicating whether the choice is a pick or a ban + type: boolean + hero_id: + description: The hero ID + type: integer + team: + description: The team that picked or banned the hero + type: integer + order: + description: The order of the pick or ban + type: integer + positive_votes: + description: Number of positive votes the replay received in the in-game client + type: integer + radiant_gold_adv: + description: 'Array of the Radiant gold advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their gold disadvantage. ' + type: array + items: + type: number + radiant_score: + description: Final score for Radiant (number of kills on Radiant) + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + radiant_xp_adv: + description: 'Array of the Radiant experience advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their experience disadvantage. ' + type: array + items: + type: number + start_time: + description: The Unix timestamp at which the game started + type: integer + teamfights: + description: teamfights + type: array + items: + type: array + items: + type: object + tower_status_dire: + description: Bitmask. An integer that represents a binary of which Dire towers are still standing. + type: integer + tower_status_radiant: + description: Bitmask. An integer that represents a binary of which Radiant towers are still standing. + type: integer + version: + description: Parse version, used internally by OpenDota + type: integer + replay_salt: + description: replay_salt + type: integer + series_id: + description: series_id + type: integer + series_type: + description: series_type + type: integer + radiant_team: + description: radiant_team + type: object + dire_team: + description: dire_team + type: object + league: + description: league + type: object + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + players: + description: Array of information on individual players + type: array + items: + description: player + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + ability_upgrades_arr: + description: An array describing how abilities were upgraded + type: array + items: + type: integer + ability_uses: + description: Object containing information on how many times the played used their abilities + type: object + ability_targets: + description: Object containing information on who the player used their abilities on + type: object + damage_targets: + description: Object containing information on how and how much damage the player dealt to other heroes + type: object + account_id: + description: account_id + type: integer + actions: + description: Object containing information on how many and what type of actions the player issued to their hero + type: object + additional_units: + description: Object containing information on additional units the player had under their control + type: array + items: + type: object + nullable: true + assists: + description: Number of assists the player had + type: integer + backpack_0: + description: Item in backpack slot 0 + type: integer + backpack_1: + description: Item in backpack slot 1 + type: integer + backpack_2: + description: Item in backpack slot 2 + type: integer + buyback_log: + description: Array containing information about buybacks + type: array + items: + type: object + properties: + time: + description: Time in seconds the buyback occurred + type: integer + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + camps_stacked: + description: Number of camps stacked + type: integer + connection_log: + description: Array containing information about the player's disconnections and reconnections + type: array + items: + type: object + properties: + time: + description: Game time in seconds the event ocurred + type: integer + event: + description: Event that occurred + type: string + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + creeps_stacked: + description: Number of creeps stacked + type: integer + damage: + description: Object containing information about damage dealt by the player to different units + type: object + damage_inflictor: + description: Object containing information about about the sources of this player's damage to heroes + type: object + damage_inflictor_received: + description: Object containing information about the sources of damage received by this player from heroes + type: object + damage_taken: + description: Object containing information about from whom the player took damage + type: object + deaths: + description: Number of deaths + type: integer + denies: + description: Number of denies + type: integer + dn_t: + description: Array containing number of denies at different times of the match + type: array + items: + type: integer + gold: + description: Gold at the end of the game + type: integer + gold_per_min: + description: Gold Per Minute obtained by this player + type: integer + gold_reasons: + description: Object containing information on how the player gainined gold over the course of the match + type: object + gold_spent: + description: How much gold the player spent + type: integer + gold_t: + description: Array containing total gold at different times of the match + type: array + items: + type: integer + hero_damage: + description: Hero Damage Dealt + type: integer + hero_healing: + description: Hero Healing Done + type: integer + hero_hits: + description: Object containing information on how many ticks of damages the hero inflicted with different spells and damage inflictors + type: object + hero_id: + description: The ID value of the hero played + type: integer + item_0: + description: Item in the player's first slot + type: integer + item_1: + description: Item in the player's second slot + type: integer + item_2: + description: Item in the player's third slot + type: integer + item_3: + description: Item in the player's fourth slot + type: integer + item_4: + description: Item in the player's fifth slot + type: integer + item_5: + description: Item in the player's sixth slot + type: integer + item_uses: + description: Object containing information about how many times a player used items + type: object + kill_streaks: + description: Object containing information about the player's killstreaks + type: object + killed: + description: Object containing information about what units the player killed + type: object + killed_by: + description: Object containing information about who killed the player + type: object + kills: + description: Number of kills + type: integer + kills_log: + description: Array containing information on which hero the player killed at what time + type: array + items: + type: object + properties: + time: + description: Time in seconds the player killed the hero + type: integer + key: + description: Hero killed + type: string + lane_pos: + description: Object containing information on lane position + type: object + last_hits: + description: Number of last hits + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + level: + description: Level at the end of the game + type: integer + lh_t: + description: Array describing last hits at each minute in the game + type: array + items: + type: integer + life_state: + description: life_state + type: object + max_hero_hit: + description: Object with information on the highest damage instance the player inflicted + type: object + multi_kills: + description: Object with information on the number of the number of multikills the player had + type: object + obs: + description: Object with information on where the player placed observer wards. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + obs_left_log: + description: obs_left_log + type: array + items: + type: object + obs_log: + description: Object containing information on when and where the player placed observer wards + type: array + items: + type: object + obs_placed: + description: Total number of observer wards placed + type: integer + party_id: + description: party_id + type: integer + permanent_buffs: + description: 'Array describing permanent buffs the player had at the end of the game. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/permanent_buffs.json' + type: array + items: + type: object + pings: + description: Total number of pings + type: integer + purchase: + description: Object containing information on the items the player purchased + type: object + purchase_log: + description: Object containing information on when items were purchased + type: array + items: + type: object + properties: + time: + description: Time in seconds the item was bought + type: integer + key: + description: String item ID + type: string + charges: + description: Integer amount of charges + type: integer + rune_pickups: + description: Number of runes picked up + type: integer + runes: + description: Object with information about which runes the player picked up + type: object + additionalProperties: + type: integer + runes_log: + description: Array with information on when runes were picked up + type: array + items: + type: object + properties: + time: + description: Time in seconds rune picked up + type: integer + key: + description: key + type: integer + sen: + description: Object with information on where sentries were placed. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + sen_left_log: + description: Array containing information on when and where the player placed sentries + type: array + items: + type: object + sen_log: + description: Array with information on when and where sentries were placed by the player + type: array + items: + type: object + sen_placed: + description: How many sentries were placed by the player + type: integer + stuns: + description: Total stun duration of all stuns by the player + type: number + times: + description: Time in seconds corresponding to the time of entries of other arrays in the match. + type: array + items: + type: integer + tower_damage: + description: Total tower damage done by the player + type: integer + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + xp_reasons: + description: Object containing information on the sources of this player's experience + type: object + xp_t: + description: Experience at each minute of the game + type: array + items: + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + last_login: + description: Time of player's last login + type: string + format: date-time + nullable: true + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: Start time of the match in seconds since 1970 + type: integer + duration: + description: Duration of the game in seconds + type: integer + cluster: + description: cluster + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + patch: + description: Integer representing the patch the game was played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + isRadiant: + description: Boolean for whether or not the player is on Radiant + type: boolean + win: + description: Binary integer representing whether or not the player won + type: integer + lose: + description: Binary integer representing whether or not the player lost + type: integer + total_gold: + description: Total gold at the end of the game + type: integer + total_xp: + description: Total experience at the end of the game + type: integer + kills_per_min: + description: Number of kills per minute + type: number + kda: + description: kda + type: number + abandons: + description: abandons + type: integer + neutral_kills: + description: Total number of neutral creeps killed + type: integer + tower_kills: + description: Total number of tower kills the player had + type: integer + courier_kills: + description: Total number of courier kills the player had + type: integer + lane_kills: + description: Total number of lane creeps killed by the player + type: integer + hero_kills: + description: Total number of heroes killed by the player + type: integer + observer_kills: + description: Total number of observer wards killed by the player + type: integer + sentry_kills: + description: Total number of sentry wards killed by the player + type: integer + roshan_kills: + description: Total number of roshan kills (last hit on roshan) the player had + type: integer + necronomicon_kills: + description: Total number of Necronomicon creeps killed by the player + type: integer + ancient_kills: + description: Total number of Ancient creeps killed by the player + type: integer + buyback_count: + description: Total number of buyback the player used + type: integer + observer_uses: + description: Number of observer wards used + type: integer + sentry_uses: + description: Number of sentry wards used + type: integer + lane_efficiency: + description: lane_efficiency + type: number + lane_efficiency_pct: + description: lane_efficiency_pct + type: number + lane: + description: Integer referring to which lane the hero laned in + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean referring to whether or not the player roamed + type: boolean + nullable: true + purchase_time: + description: Object with information on when the player last purchased an item + type: object + first_purchase_time: + description: Object with information on when the player first puchased an item + type: object + item_win: + description: Object with information on whether or not the item won + type: object + item_usage: + description: 'Object containing binary integers the tell whether the item was purchased by the player (note: this is always 1)' + type: object + purchase_tpscroll: + description: Total number of TP scrolls purchased by the player + type: integer + actions_per_min: + description: Actions per minute + type: integer + life_state_dead: + description: life_state_dead + type: integer + rank_tier: + description: The rank tier of the player. Tens place indicates rank, ones place indicates stars. + type: integer + cosmetics: + description: cosmetics + type: array + items: + type: object + properties: + item_id: + type: integer + name: + type: string + prefab: + type: string + creation_date: + type: string + format: date-time + nullable: true + image_inventory: + type: string + nullable: true + image_path: + type: string + nullable: true + item_description: + type: string + nullable: true + item_name: + type: string + item_rarity: + type: string + nullable: true + item_type_name: + type: string + nullable: true + used_by_heroes: + type: string + nullable: true + benchmarks: + description: Object containing information on certain benchmarks like GPM, XPM, KDA, tower damage, etc + type: object + patch: + description: Information on the patch version the game is played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + all_word_counts: + description: Word counts of the all chat messages in the player's games + type: object + my_word_counts: + description: Word counts of the player's all chat messages + type: object + throw: + description: Maximum gold advantage of the player's team if they lost the match + type: integer + comeback: + description: Maximum gold disadvantage of the player's team if they won the match + type: integer + loss: + description: Maximum gold disadvantage of the player's team if they lost the match + type: integer + win: + description: Maximum gold advantage of the player's team if they won the match + type: integer + replay_url: + description: replay_url + type: string + PlayersByRankResponse: + title: PlayersByRankResponse + type: array + items: + type: object + properties: + account_id: + description: account_id + type: number + rank_tier: + description: Integer indicating the rank/medal of the player + type: number + fh_unavailable: + description: Indicates if we were unable to fetch full history for this player due to privacy settings + type: boolean + nullable: true + PlayersResponse: + title: PlayerResponse + type: object + properties: + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + nullable: true + rank_tier: + description: rank_tier + type: number + nullable: true + leaderboard_rank: + description: leaderboard_rank + type: number + nullable: true + mmr_estimate: + description: mmr_estimate + type: object + properties: + estimate: + description: estimate + type: number + nullable: true + profile: + description: profile + type: object + properties: + account_id: + description: account_id + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + plus: + description: Boolean indicating status of current Dota Plus subscription + type: boolean + cheese: + description: cheese + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + is_contributor: + description: Boolean indicating if the user contributed to the development of OpenDota + type: boolean + default: false + is_subscriber: + description: Boolean indicating if the user subscribed to OpenDota + type: boolean + default: false + PlayerWinLossResponse: + title: PlayerWinLossResponse + type: object + properties: + win: + description: Number of wins + type: integer + lose: + description: Number of loses + type: integer + PlayerRecentMatchesResponse: + title: PlayerRecentMatchesResponse + description: match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Start time of the match in seconds elapsed since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the match + type: integer + deaths: + description: Total deaths the player had at the end of the match + type: integer + assists: + description: Total assists the player had at the end of the match + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High). If the skill is unknown, will return null. + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + gold_per_min: + description: Average gold per minute of the player + type: integer + hero_damage: + description: Total hero damage to enemy heroes + type: integer + hero_healing: + description: Total healing of ally heroes + type: integer + last_hits: + description: Total last hits the player had at the end of the match + type: integer + lane: + description: Integer corresponding to which lane the player laned in for the match + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean describing whether or not the player roamed + type: boolean + nullable: true + cluster: + description: cluster + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the players party. If not in a party, will return 1. + type: integer + nullable: true + PlayerMatchesResponse: + title: PlayerMatchesResponse + description: Object containing information on the match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Time the game started in seconds since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the game + type: integer + deaths: + description: Total deaths the player had at the end of the game + type: integer + assists: + description: Total assists the player had at the end of the game + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the player's party + type: integer + nullable: true + PlayerHeroesResponse: + title: PlayerHeroesResponse + description: hero + type: object + properties: + hero_id: + description: The ID value of the hero played + type: string + last_played: + description: last_played + type: integer + games: + description: games + type: integer + win: + description: win + type: integer + with_games: + description: with_games + type: integer + with_win: + description: with_win + type: integer + against_games: + description: against_games + type: integer + against_win: + description: against_win + type: integer + PlayerPeersResponse: + title: PlayerPeersResponse + type: object + properties: + account_id: + description: account_id + type: integer + last_played: + description: last_played + type: integer + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + with_xpm_sum: + description: with_xpm_sum + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + is_contributor: + description: is_contributor + type: boolean + is_subscriber: + description: is_subscriber + type: boolean + last_login: + description: last_login + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + PlayerProsResponse: + title: PlayerProsResponse + type: object + properties: + account_id: + description: account_id + type: integer + name: + description: name + type: string + country_code: + description: country_code + type: string + fantasy_role: + description: fantasy_role + type: integer + team_id: + description: team_id + type: integer + team_name: + description: team_name + type: string + nullable: true + team_tag: + description: team_tag + type: string + nullable: true + is_locked: + description: is_locked + type: boolean + is_pro: + description: is_pro + type: boolean + locked_until: + description: locked_until + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + nullable: true + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + last_played: + description: last_played + type: integer + nullable: true + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + nullable: true + with_xpm_sum: + description: with_xpm_sum + type: integer + nullable: true + PlayerTotalsResponse: + title: PlayerTotalsResponse + type: object + properties: + field: + description: field + type: string + 'n': + description: number + type: integer + sum: + description: sum + type: number + PlayerCountsResponse: + title: PlayerCountsResponse + type: object + properties: + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: object + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: object + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: object + lane_role: + description: lane_role + type: object + region: + description: Integer corresponding to the region the game was played on + type: object + patch: + description: patch + type: object + PlayerWardMapResponse: + title: PlayerWardMapResponse + type: object + properties: + obs: + description: obs + type: object + sen: + description: sen + type: object + PlayerWordCloudResponse: + title: PlayerWordCloudResponse + type: object + properties: + my_word_counts: + description: my_word_counts + type: object + all_word_counts: + description: all_word_counts + type: object + PlayerRatingsResponse: + title: PlayerRatingsResponse + type: object + properties: + account_id: + description: account_id + type: integer + match_id: + description: match_id + type: integer + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + time: + description: time + type: integer + PlayerRankingsResponse: + title: PlayerRankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + score: + description: hero_score + type: number + percent_rank: + description: percent_rank + type: number + card: + description: numeric_rank + type: integer + TeamObjectResponse: + title: TeamObjectResponse + type: object + properties: + team_id: + description: Team's identifier + type: integer + rating: + description: The Elo rating of the team + type: number + wins: + description: The number of games won by this team + type: integer + losses: + description: The number of losses by this team + type: integer + last_match_time: + description: The Unix timestamp of the last match played by this team + type: integer + name: + description: Team name, eg. 'Newbee' + type: string + tag: + description: The team tag/abbreviation + type: string + MatchObjectResponse: + title: MatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + radiant_team_id: + description: The Radiant's team_id + type: integer + radiant_name: + description: The Radiant's team name + type: string + dire_team_id: + description: The Dire's team_id + type: integer + dire_name: + description: The Dire's team name + type: string + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + series_id: + description: Identifier for the series of the match + type: integer + series_type: + description: Type of series the match was + type: integer + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + TeamMatchObjectResponse: + title: TeamMatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + cluster: + description: cluster + type: integer + opposing_team_id: + description: Opposing team identifier + type: integer + opposing_team_name: + description: Opposing team name, e.g. 'Evil Geniuses' + type: string + nullable: true + opposing_team_logo: + description: Opposing team logo url + type: string + HeroObjectResponse: + title: HeroObjectResponse + type: object + properties: + id: + description: Numeric identifier for the hero object + type: integer + name: + description: Dota hero command name, e.g. 'npc_dota_hero_antimage' + type: string + localized_name: + description: Hero name, e.g. 'Anti-Mage' + type: string + primary_attr: + description: Hero primary shorthand attribute name, e.g. 'agi' + type: string + attack_type: + description: Hero attack type, either 'Melee' or 'Ranged' + type: string + roles: + type: array + items: + description: A hero's role in the game + type: string + PlayerObjectResponse: + title: PlayerObjectResponse + type: object + properties: + account_id: + description: Player's account identifier + type: integer + steamid: + description: Player's steam identifier + type: string + avatar: + description: Steam picture URL (small picture) + type: string + avatarmedium: + description: Steam picture URL (medium picture) + type: string + avatarfull: + description: Steam picture URL (full picture) + type: string + profileurl: + description: Steam profile URL + type: string + personaname: + description: Player's Steam name + type: string + last_login: + description: Date and time of last login to OpenDota + type: string + format: date-time + full_history_time: + description: Date and time of last request to refresh player's match history + type: string + format: date-time + cheese: + description: Amount of dollars the player has donated to OpenDota + type: integer + fh_unavailable: + description: Whether the refresh of player' match history failed + type: boolean + loccountrycode: + description: Player's country identifier, e.g. US + type: string + name: + description: Verified player name, e.g. 'Miracle-' + type: string + country_code: + description: Player's country code + type: string + fantasy_role: + description: 'Player''s ingame role (core: 1 or support: 2)' + type: integer + team_id: + description: Player's team identifier + type: integer + team_name: + description: Player's team name, e.g. 'Evil Geniuses' + type: string + team_tag: + description: Player's team shorthand tag, e.g. 'EG' + type: string + is_locked: + description: Whether the roster lock is active + type: boolean + is_pro: + description: Whether the player is professional or not + type: boolean + locked_until: + description: When the roster lock will end + type: integer + LeagueObjectResponse: + title: LeagueObjectResponse + type: object + properties: + leagueid: + description: leagueid + type: integer + ticket: + description: ticket + type: string + banner: + description: banner + type: string + tier: + description: tier + type: string + name: + description: name + type: string + PublicMatchesResponse: + title: PublicMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + match_seq_num: + description: match_seq_num + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: start_time + type: integer + duration: + description: Duration of the game in seconds + type: integer + radiant_team: + description: radiant_team + type: string + dire_team: + description: dire_team + type: string + ParsedMatchesResponse: + title: ParsedMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + MetadataResponse: + title: MetadataResponse + type: object + properties: + banner: + description: banner + type: object + nullable: true + DistributionsResponse: + title: DistributionsResponse + type: object + properties: + ranks: + description: ranks + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + mmr: + description: mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + country_mmr: + description: country_mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + loccountrycode: + description: loccountrycode + type: string + nullable: true + count: + description: count + type: integer + avg: + description: avg + type: string + common: + description: common + type: string + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + SearchResponse: + title: SearchResponse + type: object + properties: + account_id: + description: account_id + type: integer + avatarfull: + description: avatarfull + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_match_time: + description: last_match_time. May not be present or null. + type: string + similarity: + description: similarity + type: number + RankingsResponse: + title: RankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + rankings: + description: rankings + type: array + items: + type: object + properties: + account_id: + description: account_id + type: integer + score: + description: score + type: number + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + rank_tier: + description: rank_tier + type: integer + nullable: true + BenchmarksResponse: + title: BenchmarksResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + result: + description: result + type: object + properties: + gold_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + xp_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + kills_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + last_hits_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_damage_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_healing_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + tower_damage: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: integer + HeroStatsResponse: + title: HeroStatsResponse + type: object + properties: + id: + description: id + type: integer + name: + description: name + type: string + localized_name: + description: localized_name + type: string + img: + description: img + type: string + icon: + description: icon + type: string + pro_win: + description: pro_win + type: integer + pro_pick: + description: pro_pick + type: integer + hero_id: + description: The ID value of the hero played + type: integer + pro_ban: + description: pro_ban + type: integer + 1_pick: + description: Herald picks + type: integer + 1_win: + description: Herald wins + type: integer + 2_pick: + description: Guardian picks + type: integer + 2_win: + description: Guardian wins + type: integer + 3_pick: + description: Crusader picks + type: integer + 3_win: + description: Crusader wins + type: integer + 4_pick: + description: Archon picks + type: integer + 4_win: + description: Archon wins + type: integer + 5_pick: + description: Legend picks + type: integer + 5_win: + description: Legend wins + type: integer + 6_pick: + description: Ancient picks + type: integer + 6_win: + description: Ancient wins + type: integer + 7_pick: + description: Divine picks + type: integer + 7_win: + description: Divine wins + type: integer + 8_pick: + description: Immortal picks + type: integer + 8_win: + description: Immortal wins + type: integer + turbo_pick: + description: Picks in Turbo mode this month + type: integer + turbo_win: + description: Wins in Turbo mode this month + type: integer + HeroMatchupsResponse: + title: HeroMatchupsResponse + type: object + properties: + hero_id: + description: Numeric identifier for the hero object + type: integer + games_played: + description: Number of games played + type: integer + wins: + description: Number of games won + type: integer + HeroDurationsResponse: + title: HeroDurationsResponse + type: object + properties: + duration_bin: + description: Lower bound of number of seconds the match lasted + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + HeroItemPopularityResponse: + title: HeroItemPopularityResponse + type: object + properties: + start_game_items: + description: Items bought before game started + type: object + properties: + item: + description: Number of item bought + type: integer + early_game_items: + description: Items bought in the first 10 min of the game, with cost at least 700 + type: object + properties: + item: + description: Number of item bought + type: integer + mid_game_items: + description: Items bought between 10 and 25 min of the game, with cost at least 2000 + type: object + properties: + item: + description: Number of item bought + type: integer + late_game_items: + description: Items bought at least 25 min after game started, with cost at least 4000 + type: object + properties: + item: + description: Number of item bought + type: integer + TeamPlayersResponse: + title: TeamPlayersResponse + type: object + properties: + account_id: + description: The player account ID + type: string + name: + description: The player name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + is_current_team_member: + description: If this player is on the current roster + type: boolean + TeamHeroesResponse: + title: TeamHeroesResponse + type: object + properties: + hero_id: + description: The hero ID + type: integer + name: + description: The hero name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + ReplaysResponse: + title: ReplaysResponse + type: object + properties: + match_id: + description: match_id + type: integer + cluster: + description: cluster + type: integer + replay_salt: + description: replay_salt + type: integer + RecordsResponse: + title: RecordsResponse + type: object + properties: + match_id: + description: match_id + type: string + start_time: + description: start_time + type: string + hero_id: + description: The ID value of the hero played + type: string + score: + description: score + type: string + ScenarioItemTimingsResponse: + title: ScenarioItemTimingsResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + item: + description: Purchased item + type: string + time: + description: Ingame time in seconds before the item was purchased + type: integer + games: + description: The number of games where the hero bought this item before this time + type: string + wins: + description: The number of games won where the hero bought this item before this time + type: string + ScenarioLaneRolesResponse: + title: ScenarioLaneRolesResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + lane_role: + description: The hero's lane role + type: integer + time: + description: Maximum game length in seconds + type: integer + games: + description: The number of games where the hero played in this lane role + type: string + wins: + description: The number of games won where the hero played in this lane role + type: string + ScenarioMiscResponse: + title: ScenarioMiscResponse + type: object + properties: + scenario: + description: The scenario's name or description + type: string + is_radiant: + description: Boolean indicating whether Radiant executed this scenario + type: boolean + region: + description: Region the game was played in + type: integer + games: + description: The number of games where this scenario occurred + type: string + wins: + description: The number of games won where this scenario occured + type: string + SchemaResponse: + title: SchemaResponse + type: object + properties: + table_name: + description: table_name + type: string + column_name: + description: column_name + type: string + data_type: + description: data_type + type: string + parameters: + matchIdParam: + name: match_id + in: path + required: true + schema: + type: integer + accountIdParam: + name: account_id + in: path + description: Steam32 account ID + required: true + schema: + type: integer + teamIdPathParam: + name: team_id + in: path + description: Team ID + required: true + schema: + type: integer + leagueIdPathParam: + name: league_id + in: path + description: League ID + required: true + schema: + type: integer + heroIdPathParam: + name: hero_id + in: path + description: Hero ID + required: true + schema: + type: integer + fieldParam: + name: field + in: path + description: Field to aggregate on + required: true + schema: + type: string + limitParam: + name: limit + in: query + description: Number of matches to limit to + required: false + schema: + type: integer + offsetParam: + name: offset + in: query + description: Number of matches to offset start by + required: false + schema: + type: integer + projectParam: + name: project + in: query + description: Fields to project (array) + required: false + schema: + type: string + winParam: + name: win + in: query + description: Whether the player won + required: false + schema: + type: integer + patchParam: + name: patch + in: query + description: Patch ID + required: false + schema: + type: integer + gameModeParam: + name: game_mode + in: query + description: Game Mode ID + required: false + schema: + type: integer + lobbyTypeParam: + name: lobby_type + in: query + description: Lobby type ID + required: false + schema: + type: integer + regionParam: + name: region + in: query + description: Region ID + required: false + schema: + type: integer + dateParam: + name: date + in: query + description: Days previous + required: false + schema: + type: integer + laneRoleParam: + name: lane_role + in: query + description: Lane Role ID + required: false + schema: + type: integer + heroIdParam: + name: hero_id + in: query + description: Hero ID + required: false + schema: + type: integer + isRadiantParam: + name: is_radiant + in: query + description: Whether the player was radiant + required: false + schema: + type: integer + withHeroIdParam: + name: with_hero_id + in: query + description: Hero IDs on the player's team (array) + required: false + schema: + type: integer + againstHeroIdParam: + name: against_hero_id + in: query + description: Hero IDs against the player's team (array) + required: false + schema: + type: integer + withAccountIdParam: + name: with_account_id + in: query + description: Account IDs on the player's team (array) + required: false + schema: + type: integer + againstAccountIdParam: + name: against_account_id + in: query + description: Account IDs against the player's team (array) + required: false + schema: + type: integer + includedAccountIdParam: + name: included_account_id + in: query + description: Account IDs in the match (array) + required: false + schema: + type: integer + excludedAccountIdParam: + name: excluded_account_id + in: query + description: Account IDs not in the match (array) + required: false + schema: + type: integer + significantParam: + name: significant + in: query + description: Whether the match was significant for aggregation purposes. Defaults to 1 (true), set this to 0 to return data for non-standard modes/matches. + required: false + schema: + type: integer + sortParam: + name: sort + in: query + description: The field to return matches sorted by in descending order + required: false + schema: + type: string + havingParam: + name: having + in: query + description: The minimum number of games played, for filtering hero stats + required: false + schema: + type: integer + minMmrParam: + name: min_mmr + in: query + description: Minimum average MMR + required: false + schema: + type: integer + maxMmrParam: + name: max_mmr + in: query + description: Maximum average MMR + required: false + schema: + type: integer + minTimeParam: + name: min_time + in: query + description: Minimum start time (Unix time) + required: false + schema: + type: integer + maxTimeParam: + name: max_time + in: query + description: Maximum start time (Unix time) + required: false + schema: + type: integer + mmrAscendingParam: + name: mmr_ascending + in: query + description: Order by MMR ascending + required: false + schema: + type: integer + mmrDescendingParam: + name: mmr_descending + in: query + description: Order by MMR descending + required: false + schema: + type: integer + lessThanMatchIdParam: + name: less_than_match_id + in: query + description: Get matches with a match ID lower than this value + required: false + schema: + type: integer + matchOverviewParam: + name: overview + in: query + description: Only fetch data required for match overview page + required: false + schema: + type: integer + scenarioParam: + name: scenario + in: query + description: pos_chat_1min,neg_chat_1min,courier_kill,first_blood + required: false + schema: + type: string +paths: + /constants: + get: + summary: GET /constants + description: Gets an array of available resources. + tags: + - constants + parameters: [] + responses: + '200': + description: Success + content: + application/json; charset=utf-8: + schema: + type: array + items: + title: ConstantsResponse + type: string \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Header.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Header.yaml new file mode 100644 index 00000000000..2ea26dbfa4e --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Header.yaml @@ -0,0 +1,2472 @@ +openapi: 3.0.3 +info: + title: OpenDota API + description: | + # Introduction + The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays. + + You can find data that can be used to convert hero and ability IDs and other information provided by the API from the [dotaconstants](https://github.com/odota/dotaconstants) repository. + + **Beginning 2018-04-22, the OpenDota API is limited to 50,000 free calls per month and 60 requests/minute** We offer a Premium Tier with unlimited API calls and higher rate limits. Check out the [API page](https://www.opendota.com/api-keys) to learn more. + version: 20.0.0 +servers: + - url: https://api.opendota.com/api +components: + securitySchemes: + api_key: + type: apiKey + name: api_key + description: |- + Use an API key to remove monthly call limits and to receive higher rate limits. [Learn more and get your API key](https://www.opendota.com/api-keys). + Usage example: https://api.opendota.com/api/matches/271145478?api_key=YOUR-API-KEY + + API key can also be sent using the authorization header "Authorization: Bearer YOUR-API-KEY" + + in: query + schemas: + MatchResponse: + title: MatchResponse + type: object + properties: + match_id: + description: The ID number of the match assigned by Valve + type: integer + barracks_status_dire: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + barracks_status_radiant: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + chat: + description: Array containing information on the chat of the game + type: array + items: + type: object + properties: + time: + description: Time in seconds at which the message was said + type: integer + unit: + description: Name of the player who sent the message + type: string + key: + description: The message the player sent + type: string + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + cluster: + description: cluster + type: integer + cosmetics: + description: cosmetics + type: object + additionalProperties: + type: integer + dire_score: + description: Final score for Dire (number of kills on Radiant) + type: integer + draft_timings: + description: draft_timings + type: array + items: + description: draft_stage + type: object + properties: + order: + description: order + type: integer + pick: + description: pick + type: boolean + active_team: + description: active_team + type: integer + hero_id: + description: The ID value of the hero played + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + extra_time: + description: extra_time + type: integer + total_time_taken: + description: total_time_taken + type: integer + duration: + description: Duration of the game in seconds + type: integer + engine: + description: engine + type: integer + first_blood_time: + description: Time in seconds at which first blood occurred + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + human_players: + description: Number of human players in the game + type: integer + leagueid: + description: leagueid + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + match_seq_num: + description: match_seq_num + type: integer + negative_votes: + description: Number of negative votes the replay received in the in-game client + type: integer + objectives: + description: objectives + type: array + items: + type: object + picks_bans: + description: Array containing information on the draft. Each item contains a boolean relating to whether the choice is a pick or a ban, the hero ID, the team the picked or banned it, and the order. + type: array + items: + type: object + properties: + is_pick: + description: Boolean indicating whether the choice is a pick or a ban + type: boolean + hero_id: + description: The hero ID + type: integer + team: + description: The team that picked or banned the hero + type: integer + order: + description: The order of the pick or ban + type: integer + positive_votes: + description: Number of positive votes the replay received in the in-game client + type: integer + radiant_gold_adv: + description: 'Array of the Radiant gold advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their gold disadvantage. ' + type: array + items: + type: number + radiant_score: + description: Final score for Radiant (number of kills on Radiant) + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + radiant_xp_adv: + description: 'Array of the Radiant experience advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their experience disadvantage. ' + type: array + items: + type: number + start_time: + description: The Unix timestamp at which the game started + type: integer + teamfights: + description: teamfights + type: array + items: + type: array + items: + type: object + tower_status_dire: + description: Bitmask. An integer that represents a binary of which Dire towers are still standing. + type: integer + tower_status_radiant: + description: Bitmask. An integer that represents a binary of which Radiant towers are still standing. + type: integer + version: + description: Parse version, used internally by OpenDota + type: integer + replay_salt: + description: replay_salt + type: integer + series_id: + description: series_id + type: integer + series_type: + description: series_type + type: integer + radiant_team: + description: radiant_team + type: object + dire_team: + description: dire_team + type: object + league: + description: league + type: object + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + players: + description: Array of information on individual players + type: array + items: + description: player + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + ability_upgrades_arr: + description: An array describing how abilities were upgraded + type: array + items: + type: integer + ability_uses: + description: Object containing information on how many times the played used their abilities + type: object + ability_targets: + description: Object containing information on who the player used their abilities on + type: object + damage_targets: + description: Object containing information on how and how much damage the player dealt to other heroes + type: object + account_id: + description: account_id + type: integer + actions: + description: Object containing information on how many and what type of actions the player issued to their hero + type: object + additional_units: + description: Object containing information on additional units the player had under their control + type: array + items: + type: object + nullable: true + assists: + description: Number of assists the player had + type: integer + backpack_0: + description: Item in backpack slot 0 + type: integer + backpack_1: + description: Item in backpack slot 1 + type: integer + backpack_2: + description: Item in backpack slot 2 + type: integer + buyback_log: + description: Array containing information about buybacks + type: array + items: + type: object + properties: + time: + description: Time in seconds the buyback occurred + type: integer + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + camps_stacked: + description: Number of camps stacked + type: integer + connection_log: + description: Array containing information about the player's disconnections and reconnections + type: array + items: + type: object + properties: + time: + description: Game time in seconds the event ocurred + type: integer + event: + description: Event that occurred + type: string + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + creeps_stacked: + description: Number of creeps stacked + type: integer + damage: + description: Object containing information about damage dealt by the player to different units + type: object + damage_inflictor: + description: Object containing information about about the sources of this player's damage to heroes + type: object + damage_inflictor_received: + description: Object containing information about the sources of damage received by this player from heroes + type: object + damage_taken: + description: Object containing information about from whom the player took damage + type: object + deaths: + description: Number of deaths + type: integer + denies: + description: Number of denies + type: integer + dn_t: + description: Array containing number of denies at different times of the match + type: array + items: + type: integer + gold: + description: Gold at the end of the game + type: integer + gold_per_min: + description: Gold Per Minute obtained by this player + type: integer + gold_reasons: + description: Object containing information on how the player gainined gold over the course of the match + type: object + gold_spent: + description: How much gold the player spent + type: integer + gold_t: + description: Array containing total gold at different times of the match + type: array + items: + type: integer + hero_damage: + description: Hero Damage Dealt + type: integer + hero_healing: + description: Hero Healing Done + type: integer + hero_hits: + description: Object containing information on how many ticks of damages the hero inflicted with different spells and damage inflictors + type: object + hero_id: + description: The ID value of the hero played + type: integer + item_0: + description: Item in the player's first slot + type: integer + item_1: + description: Item in the player's second slot + type: integer + item_2: + description: Item in the player's third slot + type: integer + item_3: + description: Item in the player's fourth slot + type: integer + item_4: + description: Item in the player's fifth slot + type: integer + item_5: + description: Item in the player's sixth slot + type: integer + item_uses: + description: Object containing information about how many times a player used items + type: object + kill_streaks: + description: Object containing information about the player's killstreaks + type: object + killed: + description: Object containing information about what units the player killed + type: object + killed_by: + description: Object containing information about who killed the player + type: object + kills: + description: Number of kills + type: integer + kills_log: + description: Array containing information on which hero the player killed at what time + type: array + items: + type: object + properties: + time: + description: Time in seconds the player killed the hero + type: integer + key: + description: Hero killed + type: string + lane_pos: + description: Object containing information on lane position + type: object + last_hits: + description: Number of last hits + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + level: + description: Level at the end of the game + type: integer + lh_t: + description: Array describing last hits at each minute in the game + type: array + items: + type: integer + life_state: + description: life_state + type: object + max_hero_hit: + description: Object with information on the highest damage instance the player inflicted + type: object + multi_kills: + description: Object with information on the number of the number of multikills the player had + type: object + obs: + description: Object with information on where the player placed observer wards. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + obs_left_log: + description: obs_left_log + type: array + items: + type: object + obs_log: + description: Object containing information on when and where the player placed observer wards + type: array + items: + type: object + obs_placed: + description: Total number of observer wards placed + type: integer + party_id: + description: party_id + type: integer + permanent_buffs: + description: 'Array describing permanent buffs the player had at the end of the game. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/permanent_buffs.json' + type: array + items: + type: object + pings: + description: Total number of pings + type: integer + purchase: + description: Object containing information on the items the player purchased + type: object + purchase_log: + description: Object containing information on when items were purchased + type: array + items: + type: object + properties: + time: + description: Time in seconds the item was bought + type: integer + key: + description: String item ID + type: string + charges: + description: Integer amount of charges + type: integer + rune_pickups: + description: Number of runes picked up + type: integer + runes: + description: Object with information about which runes the player picked up + type: object + additionalProperties: + type: integer + runes_log: + description: Array with information on when runes were picked up + type: array + items: + type: object + properties: + time: + description: Time in seconds rune picked up + type: integer + key: + description: key + type: integer + sen: + description: Object with information on where sentries were placed. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + sen_left_log: + description: Array containing information on when and where the player placed sentries + type: array + items: + type: object + sen_log: + description: Array with information on when and where sentries were placed by the player + type: array + items: + type: object + sen_placed: + description: How many sentries were placed by the player + type: integer + stuns: + description: Total stun duration of all stuns by the player + type: number + times: + description: Time in seconds corresponding to the time of entries of other arrays in the match. + type: array + items: + type: integer + tower_damage: + description: Total tower damage done by the player + type: integer + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + xp_reasons: + description: Object containing information on the sources of this player's experience + type: object + xp_t: + description: Experience at each minute of the game + type: array + items: + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + last_login: + description: Time of player's last login + type: string + format: date-time + nullable: true + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: Start time of the match in seconds since 1970 + type: integer + duration: + description: Duration of the game in seconds + type: integer + cluster: + description: cluster + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + patch: + description: Integer representing the patch the game was played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + isRadiant: + description: Boolean for whether or not the player is on Radiant + type: boolean + win: + description: Binary integer representing whether or not the player won + type: integer + lose: + description: Binary integer representing whether or not the player lost + type: integer + total_gold: + description: Total gold at the end of the game + type: integer + total_xp: + description: Total experience at the end of the game + type: integer + kills_per_min: + description: Number of kills per minute + type: number + kda: + description: kda + type: number + abandons: + description: abandons + type: integer + neutral_kills: + description: Total number of neutral creeps killed + type: integer + tower_kills: + description: Total number of tower kills the player had + type: integer + courier_kills: + description: Total number of courier kills the player had + type: integer + lane_kills: + description: Total number of lane creeps killed by the player + type: integer + hero_kills: + description: Total number of heroes killed by the player + type: integer + observer_kills: + description: Total number of observer wards killed by the player + type: integer + sentry_kills: + description: Total number of sentry wards killed by the player + type: integer + roshan_kills: + description: Total number of roshan kills (last hit on roshan) the player had + type: integer + necronomicon_kills: + description: Total number of Necronomicon creeps killed by the player + type: integer + ancient_kills: + description: Total number of Ancient creeps killed by the player + type: integer + buyback_count: + description: Total number of buyback the player used + type: integer + observer_uses: + description: Number of observer wards used + type: integer + sentry_uses: + description: Number of sentry wards used + type: integer + lane_efficiency: + description: lane_efficiency + type: number + lane_efficiency_pct: + description: lane_efficiency_pct + type: number + lane: + description: Integer referring to which lane the hero laned in + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean referring to whether or not the player roamed + type: boolean + nullable: true + purchase_time: + description: Object with information on when the player last purchased an item + type: object + first_purchase_time: + description: Object with information on when the player first puchased an item + type: object + item_win: + description: Object with information on whether or not the item won + type: object + item_usage: + description: 'Object containing binary integers the tell whether the item was purchased by the player (note: this is always 1)' + type: object + purchase_tpscroll: + description: Total number of TP scrolls purchased by the player + type: integer + actions_per_min: + description: Actions per minute + type: integer + life_state_dead: + description: life_state_dead + type: integer + rank_tier: + description: The rank tier of the player. Tens place indicates rank, ones place indicates stars. + type: integer + cosmetics: + description: cosmetics + type: array + items: + type: object + properties: + item_id: + type: integer + name: + type: string + prefab: + type: string + creation_date: + type: string + format: date-time + nullable: true + image_inventory: + type: string + nullable: true + image_path: + type: string + nullable: true + item_description: + type: string + nullable: true + item_name: + type: string + item_rarity: + type: string + nullable: true + item_type_name: + type: string + nullable: true + used_by_heroes: + type: string + nullable: true + benchmarks: + description: Object containing information on certain benchmarks like GPM, XPM, KDA, tower damage, etc + type: object + patch: + description: Information on the patch version the game is played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + all_word_counts: + description: Word counts of the all chat messages in the player's games + type: object + my_word_counts: + description: Word counts of the player's all chat messages + type: object + throw: + description: Maximum gold advantage of the player's team if they lost the match + type: integer + comeback: + description: Maximum gold disadvantage of the player's team if they won the match + type: integer + loss: + description: Maximum gold disadvantage of the player's team if they lost the match + type: integer + win: + description: Maximum gold advantage of the player's team if they won the match + type: integer + replay_url: + description: replay_url + type: string + PlayersByRankResponse: + title: PlayersByRankResponse + type: array + items: + type: object + properties: + account_id: + description: account_id + type: number + rank_tier: + description: Integer indicating the rank/medal of the player + type: number + fh_unavailable: + description: Indicates if we were unable to fetch full history for this player due to privacy settings + type: boolean + nullable: true + PlayersResponse: + title: PlayerResponse + type: object + properties: + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + nullable: true + rank_tier: + description: rank_tier + type: number + nullable: true + leaderboard_rank: + description: leaderboard_rank + type: number + nullable: true + mmr_estimate: + description: mmr_estimate + type: object + properties: + estimate: + description: estimate + type: number + nullable: true + profile: + description: profile + type: object + properties: + account_id: + description: account_id + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + plus: + description: Boolean indicating status of current Dota Plus subscription + type: boolean + cheese: + description: cheese + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + is_contributor: + description: Boolean indicating if the user contributed to the development of OpenDota + type: boolean + default: false + is_subscriber: + description: Boolean indicating if the user subscribed to OpenDota + type: boolean + default: false + PlayerWinLossResponse: + title: PlayerWinLossResponse + type: object + properties: + win: + description: Number of wins + type: integer + lose: + description: Number of loses + type: integer + PlayerRecentMatchesResponse: + title: PlayerRecentMatchesResponse + description: match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Start time of the match in seconds elapsed since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the match + type: integer + deaths: + description: Total deaths the player had at the end of the match + type: integer + assists: + description: Total assists the player had at the end of the match + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High). If the skill is unknown, will return null. + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + gold_per_min: + description: Average gold per minute of the player + type: integer + hero_damage: + description: Total hero damage to enemy heroes + type: integer + hero_healing: + description: Total healing of ally heroes + type: integer + last_hits: + description: Total last hits the player had at the end of the match + type: integer + lane: + description: Integer corresponding to which lane the player laned in for the match + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean describing whether or not the player roamed + type: boolean + nullable: true + cluster: + description: cluster + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the players party. If not in a party, will return 1. + type: integer + nullable: true + PlayerMatchesResponse: + title: PlayerMatchesResponse + description: Object containing information on the match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Time the game started in seconds since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the game + type: integer + deaths: + description: Total deaths the player had at the end of the game + type: integer + assists: + description: Total assists the player had at the end of the game + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the player's party + type: integer + nullable: true + PlayerHeroesResponse: + title: PlayerHeroesResponse + description: hero + type: object + properties: + hero_id: + description: The ID value of the hero played + type: string + last_played: + description: last_played + type: integer + games: + description: games + type: integer + win: + description: win + type: integer + with_games: + description: with_games + type: integer + with_win: + description: with_win + type: integer + against_games: + description: against_games + type: integer + against_win: + description: against_win + type: integer + PlayerPeersResponse: + title: PlayerPeersResponse + type: object + properties: + account_id: + description: account_id + type: integer + last_played: + description: last_played + type: integer + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + with_xpm_sum: + description: with_xpm_sum + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + is_contributor: + description: is_contributor + type: boolean + is_subscriber: + description: is_subscriber + type: boolean + last_login: + description: last_login + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + PlayerProsResponse: + title: PlayerProsResponse + type: object + properties: + account_id: + description: account_id + type: integer + name: + description: name + type: string + country_code: + description: country_code + type: string + fantasy_role: + description: fantasy_role + type: integer + team_id: + description: team_id + type: integer + team_name: + description: team_name + type: string + nullable: true + team_tag: + description: team_tag + type: string + nullable: true + is_locked: + description: is_locked + type: boolean + is_pro: + description: is_pro + type: boolean + locked_until: + description: locked_until + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + nullable: true + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + last_played: + description: last_played + type: integer + nullable: true + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + nullable: true + with_xpm_sum: + description: with_xpm_sum + type: integer + nullable: true + PlayerTotalsResponse: + title: PlayerTotalsResponse + type: object + properties: + field: + description: field + type: string + 'n': + description: number + type: integer + sum: + description: sum + type: number + PlayerCountsResponse: + title: PlayerCountsResponse + type: object + properties: + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: object + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: object + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: object + lane_role: + description: lane_role + type: object + region: + description: Integer corresponding to the region the game was played on + type: object + patch: + description: patch + type: object + PlayerWardMapResponse: + title: PlayerWardMapResponse + type: object + properties: + obs: + description: obs + type: object + sen: + description: sen + type: object + PlayerWordCloudResponse: + title: PlayerWordCloudResponse + type: object + properties: + my_word_counts: + description: my_word_counts + type: object + all_word_counts: + description: all_word_counts + type: object + PlayerRatingsResponse: + title: PlayerRatingsResponse + type: object + properties: + account_id: + description: account_id + type: integer + match_id: + description: match_id + type: integer + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + time: + description: time + type: integer + PlayerRankingsResponse: + title: PlayerRankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + score: + description: hero_score + type: number + percent_rank: + description: percent_rank + type: number + card: + description: numeric_rank + type: integer + TeamObjectResponse: + title: TeamObjectResponse + type: object + properties: + team_id: + description: Team's identifier + type: integer + rating: + description: The Elo rating of the team + type: number + wins: + description: The number of games won by this team + type: integer + losses: + description: The number of losses by this team + type: integer + last_match_time: + description: The Unix timestamp of the last match played by this team + type: integer + name: + description: Team name, eg. 'Newbee' + type: string + tag: + description: The team tag/abbreviation + type: string + MatchObjectResponse: + title: MatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + radiant_team_id: + description: The Radiant's team_id + type: integer + radiant_name: + description: The Radiant's team name + type: string + dire_team_id: + description: The Dire's team_id + type: integer + dire_name: + description: The Dire's team name + type: string + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + series_id: + description: Identifier for the series of the match + type: integer + series_type: + description: Type of series the match was + type: integer + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + TeamMatchObjectResponse: + title: TeamMatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + cluster: + description: cluster + type: integer + opposing_team_id: + description: Opposing team identifier + type: integer + opposing_team_name: + description: Opposing team name, e.g. 'Evil Geniuses' + type: string + nullable: true + opposing_team_logo: + description: Opposing team logo url + type: string + HeroObjectResponse: + title: HeroObjectResponse + type: object + properties: + id: + description: Numeric identifier for the hero object + type: integer + name: + description: Dota hero command name, e.g. 'npc_dota_hero_antimage' + type: string + localized_name: + description: Hero name, e.g. 'Anti-Mage' + type: string + primary_attr: + description: Hero primary shorthand attribute name, e.g. 'agi' + type: string + attack_type: + description: Hero attack type, either 'Melee' or 'Ranged' + type: string + roles: + type: array + items: + description: A hero's role in the game + type: string + PlayerObjectResponse: + title: PlayerObjectResponse + type: object + properties: + account_id: + description: Player's account identifier + type: integer + steamid: + description: Player's steam identifier + type: string + avatar: + description: Steam picture URL (small picture) + type: string + avatarmedium: + description: Steam picture URL (medium picture) + type: string + avatarfull: + description: Steam picture URL (full picture) + type: string + profileurl: + description: Steam profile URL + type: string + personaname: + description: Player's Steam name + type: string + last_login: + description: Date and time of last login to OpenDota + type: string + format: date-time + full_history_time: + description: Date and time of last request to refresh player's match history + type: string + format: date-time + cheese: + description: Amount of dollars the player has donated to OpenDota + type: integer + fh_unavailable: + description: Whether the refresh of player' match history failed + type: boolean + loccountrycode: + description: Player's country identifier, e.g. US + type: string + name: + description: Verified player name, e.g. 'Miracle-' + type: string + country_code: + description: Player's country code + type: string + fantasy_role: + description: 'Player''s ingame role (core: 1 or support: 2)' + type: integer + team_id: + description: Player's team identifier + type: integer + team_name: + description: Player's team name, e.g. 'Evil Geniuses' + type: string + team_tag: + description: Player's team shorthand tag, e.g. 'EG' + type: string + is_locked: + description: Whether the roster lock is active + type: boolean + is_pro: + description: Whether the player is professional or not + type: boolean + locked_until: + description: When the roster lock will end + type: integer + LeagueObjectResponse: + title: LeagueObjectResponse + type: object + properties: + leagueid: + description: leagueid + type: integer + ticket: + description: ticket + type: string + banner: + description: banner + type: string + tier: + description: tier + type: string + name: + description: name + type: string + PublicMatchesResponse: + title: PublicMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + match_seq_num: + description: match_seq_num + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: start_time + type: integer + duration: + description: Duration of the game in seconds + type: integer + radiant_team: + description: radiant_team + type: string + dire_team: + description: dire_team + type: string + ParsedMatchesResponse: + title: ParsedMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + MetadataResponse: + title: MetadataResponse + type: object + properties: + banner: + description: banner + type: object + nullable: true + DistributionsResponse: + title: DistributionsResponse + type: object + properties: + ranks: + description: ranks + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + mmr: + description: mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + country_mmr: + description: country_mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + loccountrycode: + description: loccountrycode + type: string + nullable: true + count: + description: count + type: integer + avg: + description: avg + type: string + common: + description: common + type: string + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + SearchResponse: + title: SearchResponse + type: object + properties: + account_id: + description: account_id + type: integer + avatarfull: + description: avatarfull + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_match_time: + description: last_match_time. May not be present or null. + type: string + similarity: + description: similarity + type: number + RankingsResponse: + title: RankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + rankings: + description: rankings + type: array + items: + type: object + properties: + account_id: + description: account_id + type: integer + score: + description: score + type: number + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + rank_tier: + description: rank_tier + type: integer + nullable: true + BenchmarksResponse: + title: BenchmarksResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + result: + description: result + type: object + properties: + gold_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + xp_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + kills_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + last_hits_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_damage_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_healing_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + tower_damage: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: integer + HeroStatsResponse: + title: HeroStatsResponse + type: object + properties: + id: + description: id + type: integer + name: + description: name + type: string + localized_name: + description: localized_name + type: string + img: + description: img + type: string + icon: + description: icon + type: string + pro_win: + description: pro_win + type: integer + pro_pick: + description: pro_pick + type: integer + hero_id: + description: The ID value of the hero played + type: integer + pro_ban: + description: pro_ban + type: integer + 1_pick: + description: Herald picks + type: integer + 1_win: + description: Herald wins + type: integer + 2_pick: + description: Guardian picks + type: integer + 2_win: + description: Guardian wins + type: integer + 3_pick: + description: Crusader picks + type: integer + 3_win: + description: Crusader wins + type: integer + 4_pick: + description: Archon picks + type: integer + 4_win: + description: Archon wins + type: integer + 5_pick: + description: Legend picks + type: integer + 5_win: + description: Legend wins + type: integer + 6_pick: + description: Ancient picks + type: integer + 6_win: + description: Ancient wins + type: integer + 7_pick: + description: Divine picks + type: integer + 7_win: + description: Divine wins + type: integer + 8_pick: + description: Immortal picks + type: integer + 8_win: + description: Immortal wins + type: integer + turbo_pick: + description: Picks in Turbo mode this month + type: integer + turbo_win: + description: Wins in Turbo mode this month + type: integer + HeroMatchupsResponse: + title: HeroMatchupsResponse + type: object + properties: + hero_id: + description: Numeric identifier for the hero object + type: integer + games_played: + description: Number of games played + type: integer + wins: + description: Number of games won + type: integer + HeroDurationsResponse: + title: HeroDurationsResponse + type: object + properties: + duration_bin: + description: Lower bound of number of seconds the match lasted + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + HeroItemPopularityResponse: + title: HeroItemPopularityResponse + type: object + properties: + start_game_items: + description: Items bought before game started + type: object + properties: + item: + description: Number of item bought + type: integer + early_game_items: + description: Items bought in the first 10 min of the game, with cost at least 700 + type: object + properties: + item: + description: Number of item bought + type: integer + mid_game_items: + description: Items bought between 10 and 25 min of the game, with cost at least 2000 + type: object + properties: + item: + description: Number of item bought + type: integer + late_game_items: + description: Items bought at least 25 min after game started, with cost at least 4000 + type: object + properties: + item: + description: Number of item bought + type: integer + TeamPlayersResponse: + title: TeamPlayersResponse + type: object + properties: + account_id: + description: The player account ID + type: string + name: + description: The player name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + is_current_team_member: + description: If this player is on the current roster + type: boolean + TeamHeroesResponse: + title: TeamHeroesResponse + type: object + properties: + hero_id: + description: The hero ID + type: integer + name: + description: The hero name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + ReplaysResponse: + title: ReplaysResponse + type: object + properties: + match_id: + description: match_id + type: integer + cluster: + description: cluster + type: integer + replay_salt: + description: replay_salt + type: integer + RecordsResponse: + title: RecordsResponse + type: object + properties: + match_id: + description: match_id + type: string + start_time: + description: start_time + type: string + hero_id: + description: The ID value of the hero played + type: string + score: + description: score + type: string + ScenarioItemTimingsResponse: + title: ScenarioItemTimingsResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + item: + description: Purchased item + type: string + time: + description: Ingame time in seconds before the item was purchased + type: integer + games: + description: The number of games where the hero bought this item before this time + type: string + wins: + description: The number of games won where the hero bought this item before this time + type: string + ScenarioLaneRolesResponse: + title: ScenarioLaneRolesResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + lane_role: + description: The hero's lane role + type: integer + time: + description: Maximum game length in seconds + type: integer + games: + description: The number of games where the hero played in this lane role + type: string + wins: + description: The number of games won where the hero played in this lane role + type: string + ScenarioMiscResponse: + title: ScenarioMiscResponse + type: object + properties: + scenario: + description: The scenario's name or description + type: string + is_radiant: + description: Boolean indicating whether Radiant executed this scenario + type: boolean + region: + description: Region the game was played in + type: integer + games: + description: The number of games where this scenario occurred + type: string + wins: + description: The number of games won where this scenario occured + type: string + SchemaResponse: + title: SchemaResponse + type: object + properties: + table_name: + description: table_name + type: string + column_name: + description: column_name + type: string + data_type: + description: data_type + type: string + parameters: + matchIdParam: + name: match_id + in: path + required: true + schema: + type: integer + accountIdParam: + name: account_id + in: path + description: Steam32 account ID + required: true + schema: + type: integer + teamIdPathParam: + name: team_id + in: path + description: Team ID + required: true + schema: + type: integer + leagueIdPathParam: + name: league_id + in: path + description: League ID + required: true + schema: + type: integer + heroIdPathParam: + name: hero_id + in: path + description: Hero ID + required: true + schema: + type: integer + fieldParam: + name: field + in: path + description: Field to aggregate on + required: true + schema: + type: string + limitParam: + name: limit + in: query + description: Number of matches to limit to + required: false + schema: + type: integer + offsetParam: + name: offset + in: query + description: Number of matches to offset start by + required: false + schema: + type: integer + projectParam: + name: project + in: query + description: Fields to project (array) + required: false + schema: + type: string + winParam: + name: win + in: query + description: Whether the player won + required: false + schema: + type: integer + patchParam: + name: patch + in: query + description: Patch ID + required: false + schema: + type: integer + gameModeParam: + name: game_mode + in: query + description: Game Mode ID + required: false + schema: + type: integer + lobbyTypeParam: + name: lobby_type + in: query + description: Lobby type ID + required: false + schema: + type: integer + regionParam: + name: region + in: query + description: Region ID + required: false + schema: + type: integer + dateParam: + name: date + in: query + description: Days previous + required: false + schema: + type: integer + laneRoleParam: + name: lane_role + in: query + description: Lane Role ID + required: false + schema: + type: integer + heroIdParam: + name: hero_id + in: query + description: Hero ID + required: false + schema: + type: integer + isRadiantParam: + name: is_radiant + in: query + description: Whether the player was radiant + required: false + schema: + type: integer + withHeroIdParam: + name: with_hero_id + in: query + description: Hero IDs on the player's team (array) + required: false + schema: + type: integer + againstHeroIdParam: + name: against_hero_id + in: query + description: Hero IDs against the player's team (array) + required: false + schema: + type: integer + withAccountIdParam: + name: with_account_id + in: query + description: Account IDs on the player's team (array) + required: false + schema: + type: integer + againstAccountIdParam: + name: against_account_id + in: query + description: Account IDs against the player's team (array) + required: false + schema: + type: integer + includedAccountIdParam: + name: included_account_id + in: query + description: Account IDs in the match (array) + required: false + schema: + type: integer + excludedAccountIdParam: + name: excluded_account_id + in: query + description: Account IDs not in the match (array) + required: false + schema: + type: integer + significantParam: + name: significant + in: query + description: Whether the match was significant for aggregation purposes. Defaults to 1 (true), set this to 0 to return data for non-standard modes/matches. + required: false + schema: + type: integer + sortParam: + name: sort + in: query + description: The field to return matches sorted by in descending order + required: false + schema: + type: string + havingParam: + name: having + in: query + description: The minimum number of games played, for filtering hero stats + required: false + schema: + type: integer + minMmrParam: + name: min_mmr + in: query + description: Minimum average MMR + required: false + schema: + type: integer + maxMmrParam: + name: max_mmr + in: query + description: Maximum average MMR + required: false + schema: + type: integer + minTimeParam: + name: min_time + in: query + description: Minimum start time (Unix time) + required: false + schema: + type: integer + maxTimeParam: + name: max_time + in: query + description: Maximum start time (Unix time) + required: false + schema: + type: integer + mmrAscendingParam: + name: mmr_ascending + in: query + description: Order by MMR ascending + required: false + schema: + type: integer + mmrDescendingParam: + name: mmr_descending + in: query + description: Order by MMR descending + required: false + schema: + type: integer + lessThanMatchIdParam: + name: less_than_match_id + in: query + description: Get matches with a match ID lower than this value + required: false + schema: + type: integer + matchOverviewParam: + name: overview + in: query + description: Only fetch data required for match overview page + required: false + schema: + type: integer + scenarioParam: + name: scenario + in: query + description: pos_chat_1min,neg_chat_1min,courier_kill,first_blood + required: false + schema: + type: string +paths: + /constants: + get: + summary: GET /constants + description: Gets an array of available resources. + tags: + - constants + parameters: + - description: Custom HTTP header + name: Custom-Header + in: header + schema: + type: string + - description: Custom HTTP header with default + name: Another-Custom-Header + in: header + schema: + type: string + default: abc + responses: + '200': + description: Success + content: + application/json; charset=utf-8: + schema: + type: array + items: + title: ConstantsResponse + type: string \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Path.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Path.yaml new file mode 100644 index 00000000000..479bc3c1a62 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Path.yaml @@ -0,0 +1,2475 @@ +openapi: 3.0.3 +info: + title: OpenDota API + description: | + # Introduction + The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays. + + You can find data that can be used to convert hero and ability IDs and other information provided by the API from the [dotaconstants](https://github.com/odota/dotaconstants) repository. + + **Beginning 2018-04-22, the OpenDota API is limited to 50,000 free calls per month and 60 requests/minute** We offer a Premium Tier with unlimited API calls and higher rate limits. Check out the [API page](https://www.opendota.com/api-keys) to learn more. + version: 20.0.0 +servers: + - url: https://api.opendota.com/api +components: + securitySchemes: + api_key: + type: apiKey + name: api_key + description: |- + Use an API key to remove monthly call limits and to receive higher rate limits. [Learn more and get your API key](https://www.opendota.com/api-keys). + Usage example: https://api.opendota.com/api/matches/271145478?api_key=YOUR-API-KEY + + API key can also be sent using the authorization header "Authorization: Bearer YOUR-API-KEY" + + in: query + schemas: + MatchResponse: + title: MatchResponse + type: object + properties: + match_id: + description: The ID number of the match assigned by Valve + type: integer + barracks_status_dire: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + barracks_status_radiant: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + chat: + description: Array containing information on the chat of the game + type: array + items: + type: object + properties: + time: + description: Time in seconds at which the message was said + type: integer + unit: + description: Name of the player who sent the message + type: string + key: + description: The message the player sent + type: string + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + cluster: + description: cluster + type: integer + cosmetics: + description: cosmetics + type: object + additionalProperties: + type: integer + dire_score: + description: Final score for Dire (number of kills on Radiant) + type: integer + draft_timings: + description: draft_timings + type: array + items: + description: draft_stage + type: object + properties: + order: + description: order + type: integer + pick: + description: pick + type: boolean + active_team: + description: active_team + type: integer + hero_id: + description: The ID value of the hero played + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + extra_time: + description: extra_time + type: integer + total_time_taken: + description: total_time_taken + type: integer + duration: + description: Duration of the game in seconds + type: integer + engine: + description: engine + type: integer + first_blood_time: + description: Time in seconds at which first blood occurred + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + human_players: + description: Number of human players in the game + type: integer + leagueid: + description: leagueid + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + match_seq_num: + description: match_seq_num + type: integer + negative_votes: + description: Number of negative votes the replay received in the in-game client + type: integer + objectives: + description: objectives + type: array + items: + type: object + picks_bans: + description: Array containing information on the draft. Each item contains a boolean relating to whether the choice is a pick or a ban, the hero ID, the team the picked or banned it, and the order. + type: array + items: + type: object + properties: + is_pick: + description: Boolean indicating whether the choice is a pick or a ban + type: boolean + hero_id: + description: The hero ID + type: integer + team: + description: The team that picked or banned the hero + type: integer + order: + description: The order of the pick or ban + type: integer + positive_votes: + description: Number of positive votes the replay received in the in-game client + type: integer + radiant_gold_adv: + description: 'Array of the Radiant gold advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their gold disadvantage. ' + type: array + items: + type: number + radiant_score: + description: Final score for Radiant (number of kills on Radiant) + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + radiant_xp_adv: + description: 'Array of the Radiant experience advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their experience disadvantage. ' + type: array + items: + type: number + start_time: + description: The Unix timestamp at which the game started + type: integer + teamfights: + description: teamfights + type: array + items: + type: array + items: + type: object + tower_status_dire: + description: Bitmask. An integer that represents a binary of which Dire towers are still standing. + type: integer + tower_status_radiant: + description: Bitmask. An integer that represents a binary of which Radiant towers are still standing. + type: integer + version: + description: Parse version, used internally by OpenDota + type: integer + replay_salt: + description: replay_salt + type: integer + series_id: + description: series_id + type: integer + series_type: + description: series_type + type: integer + radiant_team: + description: radiant_team + type: object + dire_team: + description: dire_team + type: object + league: + description: league + type: object + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + players: + description: Array of information on individual players + type: array + items: + description: player + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + ability_upgrades_arr: + description: An array describing how abilities were upgraded + type: array + items: + type: integer + ability_uses: + description: Object containing information on how many times the played used their abilities + type: object + ability_targets: + description: Object containing information on who the player used their abilities on + type: object + damage_targets: + description: Object containing information on how and how much damage the player dealt to other heroes + type: object + account_id: + description: account_id + type: integer + actions: + description: Object containing information on how many and what type of actions the player issued to their hero + type: object + additional_units: + description: Object containing information on additional units the player had under their control + type: array + items: + type: object + nullable: true + assists: + description: Number of assists the player had + type: integer + backpack_0: + description: Item in backpack slot 0 + type: integer + backpack_1: + description: Item in backpack slot 1 + type: integer + backpack_2: + description: Item in backpack slot 2 + type: integer + buyback_log: + description: Array containing information about buybacks + type: array + items: + type: object + properties: + time: + description: Time in seconds the buyback occurred + type: integer + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + camps_stacked: + description: Number of camps stacked + type: integer + connection_log: + description: Array containing information about the player's disconnections and reconnections + type: array + items: + type: object + properties: + time: + description: Game time in seconds the event ocurred + type: integer + event: + description: Event that occurred + type: string + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + creeps_stacked: + description: Number of creeps stacked + type: integer + damage: + description: Object containing information about damage dealt by the player to different units + type: object + damage_inflictor: + description: Object containing information about about the sources of this player's damage to heroes + type: object + damage_inflictor_received: + description: Object containing information about the sources of damage received by this player from heroes + type: object + damage_taken: + description: Object containing information about from whom the player took damage + type: object + deaths: + description: Number of deaths + type: integer + denies: + description: Number of denies + type: integer + dn_t: + description: Array containing number of denies at different times of the match + type: array + items: + type: integer + gold: + description: Gold at the end of the game + type: integer + gold_per_min: + description: Gold Per Minute obtained by this player + type: integer + gold_reasons: + description: Object containing information on how the player gainined gold over the course of the match + type: object + gold_spent: + description: How much gold the player spent + type: integer + gold_t: + description: Array containing total gold at different times of the match + type: array + items: + type: integer + hero_damage: + description: Hero Damage Dealt + type: integer + hero_healing: + description: Hero Healing Done + type: integer + hero_hits: + description: Object containing information on how many ticks of damages the hero inflicted with different spells and damage inflictors + type: object + hero_id: + description: The ID value of the hero played + type: integer + item_0: + description: Item in the player's first slot + type: integer + item_1: + description: Item in the player's second slot + type: integer + item_2: + description: Item in the player's third slot + type: integer + item_3: + description: Item in the player's fourth slot + type: integer + item_4: + description: Item in the player's fifth slot + type: integer + item_5: + description: Item in the player's sixth slot + type: integer + item_uses: + description: Object containing information about how many times a player used items + type: object + kill_streaks: + description: Object containing information about the player's killstreaks + type: object + killed: + description: Object containing information about what units the player killed + type: object + killed_by: + description: Object containing information about who killed the player + type: object + kills: + description: Number of kills + type: integer + kills_log: + description: Array containing information on which hero the player killed at what time + type: array + items: + type: object + properties: + time: + description: Time in seconds the player killed the hero + type: integer + key: + description: Hero killed + type: string + lane_pos: + description: Object containing information on lane position + type: object + last_hits: + description: Number of last hits + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + level: + description: Level at the end of the game + type: integer + lh_t: + description: Array describing last hits at each minute in the game + type: array + items: + type: integer + life_state: + description: life_state + type: object + max_hero_hit: + description: Object with information on the highest damage instance the player inflicted + type: object + multi_kills: + description: Object with information on the number of the number of multikills the player had + type: object + obs: + description: Object with information on where the player placed observer wards. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + obs_left_log: + description: obs_left_log + type: array + items: + type: object + obs_log: + description: Object containing information on when and where the player placed observer wards + type: array + items: + type: object + obs_placed: + description: Total number of observer wards placed + type: integer + party_id: + description: party_id + type: integer + permanent_buffs: + description: 'Array describing permanent buffs the player had at the end of the game. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/permanent_buffs.json' + type: array + items: + type: object + pings: + description: Total number of pings + type: integer + purchase: + description: Object containing information on the items the player purchased + type: object + purchase_log: + description: Object containing information on when items were purchased + type: array + items: + type: object + properties: + time: + description: Time in seconds the item was bought + type: integer + key: + description: String item ID + type: string + charges: + description: Integer amount of charges + type: integer + rune_pickups: + description: Number of runes picked up + type: integer + runes: + description: Object with information about which runes the player picked up + type: object + additionalProperties: + type: integer + runes_log: + description: Array with information on when runes were picked up + type: array + items: + type: object + properties: + time: + description: Time in seconds rune picked up + type: integer + key: + description: key + type: integer + sen: + description: Object with information on where sentries were placed. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + sen_left_log: + description: Array containing information on when and where the player placed sentries + type: array + items: + type: object + sen_log: + description: Array with information on when and where sentries were placed by the player + type: array + items: + type: object + sen_placed: + description: How many sentries were placed by the player + type: integer + stuns: + description: Total stun duration of all stuns by the player + type: number + times: + description: Time in seconds corresponding to the time of entries of other arrays in the match. + type: array + items: + type: integer + tower_damage: + description: Total tower damage done by the player + type: integer + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + xp_reasons: + description: Object containing information on the sources of this player's experience + type: object + xp_t: + description: Experience at each minute of the game + type: array + items: + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + last_login: + description: Time of player's last login + type: string + format: date-time + nullable: true + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: Start time of the match in seconds since 1970 + type: integer + duration: + description: Duration of the game in seconds + type: integer + cluster: + description: cluster + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + patch: + description: Integer representing the patch the game was played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + isRadiant: + description: Boolean for whether or not the player is on Radiant + type: boolean + win: + description: Binary integer representing whether or not the player won + type: integer + lose: + description: Binary integer representing whether or not the player lost + type: integer + total_gold: + description: Total gold at the end of the game + type: integer + total_xp: + description: Total experience at the end of the game + type: integer + kills_per_min: + description: Number of kills per minute + type: number + kda: + description: kda + type: number + abandons: + description: abandons + type: integer + neutral_kills: + description: Total number of neutral creeps killed + type: integer + tower_kills: + description: Total number of tower kills the player had + type: integer + courier_kills: + description: Total number of courier kills the player had + type: integer + lane_kills: + description: Total number of lane creeps killed by the player + type: integer + hero_kills: + description: Total number of heroes killed by the player + type: integer + observer_kills: + description: Total number of observer wards killed by the player + type: integer + sentry_kills: + description: Total number of sentry wards killed by the player + type: integer + roshan_kills: + description: Total number of roshan kills (last hit on roshan) the player had + type: integer + necronomicon_kills: + description: Total number of Necronomicon creeps killed by the player + type: integer + ancient_kills: + description: Total number of Ancient creeps killed by the player + type: integer + buyback_count: + description: Total number of buyback the player used + type: integer + observer_uses: + description: Number of observer wards used + type: integer + sentry_uses: + description: Number of sentry wards used + type: integer + lane_efficiency: + description: lane_efficiency + type: number + lane_efficiency_pct: + description: lane_efficiency_pct + type: number + lane: + description: Integer referring to which lane the hero laned in + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean referring to whether or not the player roamed + type: boolean + nullable: true + purchase_time: + description: Object with information on when the player last purchased an item + type: object + first_purchase_time: + description: Object with information on when the player first puchased an item + type: object + item_win: + description: Object with information on whether or not the item won + type: object + item_usage: + description: 'Object containing binary integers the tell whether the item was purchased by the player (note: this is always 1)' + type: object + purchase_tpscroll: + description: Total number of TP scrolls purchased by the player + type: integer + actions_per_min: + description: Actions per minute + type: integer + life_state_dead: + description: life_state_dead + type: integer + rank_tier: + description: The rank tier of the player. Tens place indicates rank, ones place indicates stars. + type: integer + cosmetics: + description: cosmetics + type: array + items: + type: object + properties: + item_id: + type: integer + name: + type: string + prefab: + type: string + creation_date: + type: string + format: date-time + nullable: true + image_inventory: + type: string + nullable: true + image_path: + type: string + nullable: true + item_description: + type: string + nullable: true + item_name: + type: string + item_rarity: + type: string + nullable: true + item_type_name: + type: string + nullable: true + used_by_heroes: + type: string + nullable: true + benchmarks: + description: Object containing information on certain benchmarks like GPM, XPM, KDA, tower damage, etc + type: object + patch: + description: Information on the patch version the game is played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + all_word_counts: + description: Word counts of the all chat messages in the player's games + type: object + my_word_counts: + description: Word counts of the player's all chat messages + type: object + throw: + description: Maximum gold advantage of the player's team if they lost the match + type: integer + comeback: + description: Maximum gold disadvantage of the player's team if they won the match + type: integer + loss: + description: Maximum gold disadvantage of the player's team if they lost the match + type: integer + win: + description: Maximum gold advantage of the player's team if they won the match + type: integer + replay_url: + description: replay_url + type: string + PlayersByRankResponse: + title: PlayersByRankResponse + type: array + items: + type: object + properties: + account_id: + description: account_id + type: number + rank_tier: + description: Integer indicating the rank/medal of the player + type: number + fh_unavailable: + description: Indicates if we were unable to fetch full history for this player due to privacy settings + type: boolean + nullable: true + PlayersResponse: + title: PlayerResponse + type: object + properties: + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + nullable: true + rank_tier: + description: rank_tier + type: number + nullable: true + leaderboard_rank: + description: leaderboard_rank + type: number + nullable: true + mmr_estimate: + description: mmr_estimate + type: object + properties: + estimate: + description: estimate + type: number + nullable: true + profile: + description: profile + type: object + properties: + account_id: + description: account_id + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + plus: + description: Boolean indicating status of current Dota Plus subscription + type: boolean + cheese: + description: cheese + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + is_contributor: + description: Boolean indicating if the user contributed to the development of OpenDota + type: boolean + default: false + is_subscriber: + description: Boolean indicating if the user subscribed to OpenDota + type: boolean + default: false + PlayerWinLossResponse: + title: PlayerWinLossResponse + type: object + properties: + win: + description: Number of wins + type: integer + lose: + description: Number of loses + type: integer + PlayerRecentMatchesResponse: + title: PlayerRecentMatchesResponse + description: match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Start time of the match in seconds elapsed since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the match + type: integer + deaths: + description: Total deaths the player had at the end of the match + type: integer + assists: + description: Total assists the player had at the end of the match + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High). If the skill is unknown, will return null. + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + gold_per_min: + description: Average gold per minute of the player + type: integer + hero_damage: + description: Total hero damage to enemy heroes + type: integer + hero_healing: + description: Total healing of ally heroes + type: integer + last_hits: + description: Total last hits the player had at the end of the match + type: integer + lane: + description: Integer corresponding to which lane the player laned in for the match + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean describing whether or not the player roamed + type: boolean + nullable: true + cluster: + description: cluster + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the players party. If not in a party, will return 1. + type: integer + nullable: true + PlayerMatchesResponse: + title: PlayerMatchesResponse + description: Object containing information on the match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Time the game started in seconds since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the game + type: integer + deaths: + description: Total deaths the player had at the end of the game + type: integer + assists: + description: Total assists the player had at the end of the game + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the player's party + type: integer + nullable: true + PlayerHeroesResponse: + title: PlayerHeroesResponse + description: hero + type: object + properties: + hero_id: + description: The ID value of the hero played + type: string + last_played: + description: last_played + type: integer + games: + description: games + type: integer + win: + description: win + type: integer + with_games: + description: with_games + type: integer + with_win: + description: with_win + type: integer + against_games: + description: against_games + type: integer + against_win: + description: against_win + type: integer + PlayerPeersResponse: + title: PlayerPeersResponse + type: object + properties: + account_id: + description: account_id + type: integer + last_played: + description: last_played + type: integer + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + with_xpm_sum: + description: with_xpm_sum + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + is_contributor: + description: is_contributor + type: boolean + is_subscriber: + description: is_subscriber + type: boolean + last_login: + description: last_login + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + PlayerProsResponse: + title: PlayerProsResponse + type: object + properties: + account_id: + description: account_id + type: integer + name: + description: name + type: string + country_code: + description: country_code + type: string + fantasy_role: + description: fantasy_role + type: integer + team_id: + description: team_id + type: integer + team_name: + description: team_name + type: string + nullable: true + team_tag: + description: team_tag + type: string + nullable: true + is_locked: + description: is_locked + type: boolean + is_pro: + description: is_pro + type: boolean + locked_until: + description: locked_until + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + nullable: true + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + last_played: + description: last_played + type: integer + nullable: true + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + nullable: true + with_xpm_sum: + description: with_xpm_sum + type: integer + nullable: true + PlayerTotalsResponse: + title: PlayerTotalsResponse + type: object + properties: + field: + description: field + type: string + 'n': + description: number + type: integer + sum: + description: sum + type: number + PlayerCountsResponse: + title: PlayerCountsResponse + type: object + properties: + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: object + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: object + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: object + lane_role: + description: lane_role + type: object + region: + description: Integer corresponding to the region the game was played on + type: object + patch: + description: patch + type: object + PlayerWardMapResponse: + title: PlayerWardMapResponse + type: object + properties: + obs: + description: obs + type: object + sen: + description: sen + type: object + PlayerWordCloudResponse: + title: PlayerWordCloudResponse + type: object + properties: + my_word_counts: + description: my_word_counts + type: object + all_word_counts: + description: all_word_counts + type: object + PlayerRatingsResponse: + title: PlayerRatingsResponse + type: object + properties: + account_id: + description: account_id + type: integer + match_id: + description: match_id + type: integer + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + time: + description: time + type: integer + PlayerRankingsResponse: + title: PlayerRankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + score: + description: hero_score + type: number + percent_rank: + description: percent_rank + type: number + card: + description: numeric_rank + type: integer + TeamObjectResponse: + title: TeamObjectResponse + type: object + properties: + team_id: + description: Team's identifier + type: integer + rating: + description: The Elo rating of the team + type: number + wins: + description: The number of games won by this team + type: integer + losses: + description: The number of losses by this team + type: integer + last_match_time: + description: The Unix timestamp of the last match played by this team + type: integer + name: + description: Team name, eg. 'Newbee' + type: string + tag: + description: The team tag/abbreviation + type: string + MatchObjectResponse: + title: MatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + radiant_team_id: + description: The Radiant's team_id + type: integer + radiant_name: + description: The Radiant's team name + type: string + dire_team_id: + description: The Dire's team_id + type: integer + dire_name: + description: The Dire's team name + type: string + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + series_id: + description: Identifier for the series of the match + type: integer + series_type: + description: Type of series the match was + type: integer + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + TeamMatchObjectResponse: + title: TeamMatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + cluster: + description: cluster + type: integer + opposing_team_id: + description: Opposing team identifier + type: integer + opposing_team_name: + description: Opposing team name, e.g. 'Evil Geniuses' + type: string + nullable: true + opposing_team_logo: + description: Opposing team logo url + type: string + HeroObjectResponse: + title: HeroObjectResponse + type: object + properties: + id: + description: Numeric identifier for the hero object + type: integer + name: + description: Dota hero command name, e.g. 'npc_dota_hero_antimage' + type: string + localized_name: + description: Hero name, e.g. 'Anti-Mage' + type: string + primary_attr: + description: Hero primary shorthand attribute name, e.g. 'agi' + type: string + attack_type: + description: Hero attack type, either 'Melee' or 'Ranged' + type: string + roles: + type: array + items: + description: A hero's role in the game + type: string + PlayerObjectResponse: + title: PlayerObjectResponse + type: object + properties: + account_id: + description: Player's account identifier + type: integer + steamid: + description: Player's steam identifier + type: string + avatar: + description: Steam picture URL (small picture) + type: string + avatarmedium: + description: Steam picture URL (medium picture) + type: string + avatarfull: + description: Steam picture URL (full picture) + type: string + profileurl: + description: Steam profile URL + type: string + personaname: + description: Player's Steam name + type: string + last_login: + description: Date and time of last login to OpenDota + type: string + format: date-time + full_history_time: + description: Date and time of last request to refresh player's match history + type: string + format: date-time + cheese: + description: Amount of dollars the player has donated to OpenDota + type: integer + fh_unavailable: + description: Whether the refresh of player' match history failed + type: boolean + loccountrycode: + description: Player's country identifier, e.g. US + type: string + name: + description: Verified player name, e.g. 'Miracle-' + type: string + country_code: + description: Player's country code + type: string + fantasy_role: + description: 'Player''s ingame role (core: 1 or support: 2)' + type: integer + team_id: + description: Player's team identifier + type: integer + team_name: + description: Player's team name, e.g. 'Evil Geniuses' + type: string + team_tag: + description: Player's team shorthand tag, e.g. 'EG' + type: string + is_locked: + description: Whether the roster lock is active + type: boolean + is_pro: + description: Whether the player is professional or not + type: boolean + locked_until: + description: When the roster lock will end + type: integer + LeagueObjectResponse: + title: LeagueObjectResponse + type: object + properties: + leagueid: + description: leagueid + type: integer + ticket: + description: ticket + type: string + banner: + description: banner + type: string + tier: + description: tier + type: string + name: + description: name + type: string + PublicMatchesResponse: + title: PublicMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + match_seq_num: + description: match_seq_num + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: start_time + type: integer + duration: + description: Duration of the game in seconds + type: integer + radiant_team: + description: radiant_team + type: string + dire_team: + description: dire_team + type: string + ParsedMatchesResponse: + title: ParsedMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + MetadataResponse: + title: MetadataResponse + type: object + properties: + banner: + description: banner + type: object + nullable: true + DistributionsResponse: + title: DistributionsResponse + type: object + properties: + ranks: + description: ranks + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + mmr: + description: mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + country_mmr: + description: country_mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + loccountrycode: + description: loccountrycode + type: string + nullable: true + count: + description: count + type: integer + avg: + description: avg + type: string + common: + description: common + type: string + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + SearchResponse: + title: SearchResponse + type: object + properties: + account_id: + description: account_id + type: integer + avatarfull: + description: avatarfull + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_match_time: + description: last_match_time. May not be present or null. + type: string + similarity: + description: similarity + type: number + RankingsResponse: + title: RankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + rankings: + description: rankings + type: array + items: + type: object + properties: + account_id: + description: account_id + type: integer + score: + description: score + type: number + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + rank_tier: + description: rank_tier + type: integer + nullable: true + BenchmarksResponse: + title: BenchmarksResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + result: + description: result + type: object + properties: + gold_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + xp_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + kills_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + last_hits_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_damage_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_healing_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + tower_damage: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: integer + HeroStatsResponse: + title: HeroStatsResponse + type: object + properties: + id: + description: id + type: integer + name: + description: name + type: string + localized_name: + description: localized_name + type: string + img: + description: img + type: string + icon: + description: icon + type: string + pro_win: + description: pro_win + type: integer + pro_pick: + description: pro_pick + type: integer + hero_id: + description: The ID value of the hero played + type: integer + pro_ban: + description: pro_ban + type: integer + 1_pick: + description: Herald picks + type: integer + 1_win: + description: Herald wins + type: integer + 2_pick: + description: Guardian picks + type: integer + 2_win: + description: Guardian wins + type: integer + 3_pick: + description: Crusader picks + type: integer + 3_win: + description: Crusader wins + type: integer + 4_pick: + description: Archon picks + type: integer + 4_win: + description: Archon wins + type: integer + 5_pick: + description: Legend picks + type: integer + 5_win: + description: Legend wins + type: integer + 6_pick: + description: Ancient picks + type: integer + 6_win: + description: Ancient wins + type: integer + 7_pick: + description: Divine picks + type: integer + 7_win: + description: Divine wins + type: integer + 8_pick: + description: Immortal picks + type: integer + 8_win: + description: Immortal wins + type: integer + turbo_pick: + description: Picks in Turbo mode this month + type: integer + turbo_win: + description: Wins in Turbo mode this month + type: integer + HeroMatchupsResponse: + title: HeroMatchupsResponse + type: object + properties: + hero_id: + description: Numeric identifier for the hero object + type: integer + games_played: + description: Number of games played + type: integer + wins: + description: Number of games won + type: integer + HeroDurationsResponse: + title: HeroDurationsResponse + type: object + properties: + duration_bin: + description: Lower bound of number of seconds the match lasted + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + HeroItemPopularityResponse: + title: HeroItemPopularityResponse + type: object + properties: + start_game_items: + description: Items bought before game started + type: object + properties: + item: + description: Number of item bought + type: integer + early_game_items: + description: Items bought in the first 10 min of the game, with cost at least 700 + type: object + properties: + item: + description: Number of item bought + type: integer + mid_game_items: + description: Items bought between 10 and 25 min of the game, with cost at least 2000 + type: object + properties: + item: + description: Number of item bought + type: integer + late_game_items: + description: Items bought at least 25 min after game started, with cost at least 4000 + type: object + properties: + item: + description: Number of item bought + type: integer + TeamPlayersResponse: + title: TeamPlayersResponse + type: object + properties: + account_id: + description: The player account ID + type: string + name: + description: The player name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + is_current_team_member: + description: If this player is on the current roster + type: boolean + TeamHeroesResponse: + title: TeamHeroesResponse + type: object + properties: + hero_id: + description: The hero ID + type: integer + name: + description: The hero name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + ReplaysResponse: + title: ReplaysResponse + type: object + properties: + match_id: + description: match_id + type: integer + cluster: + description: cluster + type: integer + replay_salt: + description: replay_salt + type: integer + RecordsResponse: + title: RecordsResponse + type: object + properties: + match_id: + description: match_id + type: string + start_time: + description: start_time + type: string + hero_id: + description: The ID value of the hero played + type: string + score: + description: score + type: string + ScenarioItemTimingsResponse: + title: ScenarioItemTimingsResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + item: + description: Purchased item + type: string + time: + description: Ingame time in seconds before the item was purchased + type: integer + games: + description: The number of games where the hero bought this item before this time + type: string + wins: + description: The number of games won where the hero bought this item before this time + type: string + ScenarioLaneRolesResponse: + title: ScenarioLaneRolesResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + lane_role: + description: The hero's lane role + type: integer + time: + description: Maximum game length in seconds + type: integer + games: + description: The number of games where the hero played in this lane role + type: string + wins: + description: The number of games won where the hero played in this lane role + type: string + ScenarioMiscResponse: + title: ScenarioMiscResponse + type: object + properties: + scenario: + description: The scenario's name or description + type: string + is_radiant: + description: Boolean indicating whether Radiant executed this scenario + type: boolean + region: + description: Region the game was played in + type: integer + games: + description: The number of games where this scenario occurred + type: string + wins: + description: The number of games won where this scenario occured + type: string + SchemaResponse: + title: SchemaResponse + type: object + properties: + table_name: + description: table_name + type: string + column_name: + description: column_name + type: string + data_type: + description: data_type + type: string + parameters: + matchIdParam: + name: match_id + in: path + required: true + schema: + type: integer + accountIdParam: + name: account_id + in: path + description: Steam32 account ID + required: true + schema: + type: integer + teamIdPathParam: + name: team_id + in: path + description: Team ID + required: true + schema: + type: integer + leagueIdPathParam: + name: league_id + in: path + description: League ID + required: true + schema: + type: integer + heroIdPathParam: + name: hero_id + in: path + description: Hero ID + required: true + schema: + type: integer + fieldParam: + name: field + in: path + description: Field to aggregate on + required: true + schema: + type: string + limitParam: + name: limit + in: query + description: Number of matches to limit to + required: false + schema: + type: integer + offsetParam: + name: offset + in: query + description: Number of matches to offset start by + required: false + schema: + type: integer + projectParam: + name: project + in: query + description: Fields to project (array) + required: false + schema: + type: string + winParam: + name: win + in: query + description: Whether the player won + required: false + schema: + type: integer + patchParam: + name: patch + in: query + description: Patch ID + required: false + schema: + type: integer + gameModeParam: + name: game_mode + in: query + description: Game Mode ID + required: false + schema: + type: integer + lobbyTypeParam: + name: lobby_type + in: query + description: Lobby type ID + required: false + schema: + type: integer + regionParam: + name: region + in: query + description: Region ID + required: false + schema: + type: integer + dateParam: + name: date + in: query + description: Days previous + required: false + schema: + type: integer + laneRoleParam: + name: lane_role + in: query + description: Lane Role ID + required: false + schema: + type: integer + heroIdParam: + name: hero_id + in: query + description: Hero ID + required: false + schema: + type: integer + isRadiantParam: + name: is_radiant + in: query + description: Whether the player was radiant + required: false + schema: + type: integer + withHeroIdParam: + name: with_hero_id + in: query + description: Hero IDs on the player's team (array) + required: false + schema: + type: integer + againstHeroIdParam: + name: against_hero_id + in: query + description: Hero IDs against the player's team (array) + required: false + schema: + type: integer + withAccountIdParam: + name: with_account_id + in: query + description: Account IDs on the player's team (array) + required: false + schema: + type: integer + againstAccountIdParam: + name: against_account_id + in: query + description: Account IDs against the player's team (array) + required: false + schema: + type: integer + includedAccountIdParam: + name: included_account_id + in: query + description: Account IDs in the match (array) + required: false + schema: + type: integer + excludedAccountIdParam: + name: excluded_account_id + in: query + description: Account IDs not in the match (array) + required: false + schema: + type: integer + significantParam: + name: significant + in: query + description: Whether the match was significant for aggregation purposes. Defaults to 1 (true), set this to 0 to return data for non-standard modes/matches. + required: false + schema: + type: integer + sortParam: + name: sort + in: query + description: The field to return matches sorted by in descending order + required: false + schema: + type: string + havingParam: + name: having + in: query + description: The minimum number of games played, for filtering hero stats + required: false + schema: + type: integer + minMmrParam: + name: min_mmr + in: query + description: Minimum average MMR + required: false + schema: + type: integer + maxMmrParam: + name: max_mmr + in: query + description: Maximum average MMR + required: false + schema: + type: integer + minTimeParam: + name: min_time + in: query + description: Minimum start time (Unix time) + required: false + schema: + type: integer + maxTimeParam: + name: max_time + in: query + description: Maximum start time (Unix time) + required: false + schema: + type: integer + mmrAscendingParam: + name: mmr_ascending + in: query + description: Order by MMR ascending + required: false + schema: + type: integer + mmrDescendingParam: + name: mmr_descending + in: query + description: Order by MMR descending + required: false + schema: + type: integer + lessThanMatchIdParam: + name: less_than_match_id + in: query + description: Get matches with a match ID lower than this value + required: false + schema: + type: integer + matchOverviewParam: + name: overview + in: query + description: Only fetch data required for match overview page + required: false + schema: + type: integer + scenarioParam: + name: scenario + in: query + description: pos_chat_1min,neg_chat_1min,courier_kill,first_blood + required: false + schema: + type: string +paths: + /constants/{resource}: + get: + summary: GET /constants + description: Get static game data mirrored from the dotaconstants repository. + tags: + - constants + parameters: + - name: resource + in: path + description: Resource name e.g. `heroes`. [List of resources](https://github.com/odota/dotaconstants/tree/master/build) + required: true + schema: + type: string + responses: + '200': + description: Success + content: + application/json; charset=utf-8: + schema: + nullable: true + oneOf: + - type: object + additionalProperties: + title: ConstantResourceResponse + - type: array + items: + oneOf: + - type: object + additionalProperties: + title: ConstantResourceResponse + - type: integer \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/QueryParam.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/QueryParam.yaml new file mode 100644 index 00000000000..05a4d2fa6a5 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/QueryParam.yaml @@ -0,0 +1,2467 @@ +openapi: 3.0.3 +info: + title: OpenDota API + description: | + # Introduction + The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays. + + You can find data that can be used to convert hero and ability IDs and other information provided by the API from the [dotaconstants](https://github.com/odota/dotaconstants) repository. + + **Beginning 2018-04-22, the OpenDota API is limited to 50,000 free calls per month and 60 requests/minute** We offer a Premium Tier with unlimited API calls and higher rate limits. Check out the [API page](https://www.opendota.com/api-keys) to learn more. + version: 20.0.0 +servers: + - url: https://api.opendota.com/api +components: + securitySchemes: + api_key: + type: apiKey + name: api_key + description: |- + Use an API key to remove monthly call limits and to receive higher rate limits. [Learn more and get your API key](https://www.opendota.com/api-keys). + Usage example: https://api.opendota.com/api/matches/271145478?api_key=YOUR-API-KEY + + API key can also be sent using the authorization header "Authorization: Bearer YOUR-API-KEY" + + in: query + schemas: + MatchResponse: + title: MatchResponse + type: object + properties: + match_id: + description: The ID number of the match assigned by Valve + type: integer + barracks_status_dire: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + barracks_status_radiant: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + chat: + description: Array containing information on the chat of the game + type: array + items: + type: object + properties: + time: + description: Time in seconds at which the message was said + type: integer + unit: + description: Name of the player who sent the message + type: string + key: + description: The message the player sent + type: string + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + cluster: + description: cluster + type: integer + cosmetics: + description: cosmetics + type: object + additionalProperties: + type: integer + dire_score: + description: Final score for Dire (number of kills on Radiant) + type: integer + draft_timings: + description: draft_timings + type: array + items: + description: draft_stage + type: object + properties: + order: + description: order + type: integer + pick: + description: pick + type: boolean + active_team: + description: active_team + type: integer + hero_id: + description: The ID value of the hero played + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + extra_time: + description: extra_time + type: integer + total_time_taken: + description: total_time_taken + type: integer + duration: + description: Duration of the game in seconds + type: integer + engine: + description: engine + type: integer + first_blood_time: + description: Time in seconds at which first blood occurred + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + human_players: + description: Number of human players in the game + type: integer + leagueid: + description: leagueid + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + match_seq_num: + description: match_seq_num + type: integer + negative_votes: + description: Number of negative votes the replay received in the in-game client + type: integer + objectives: + description: objectives + type: array + items: + type: object + picks_bans: + description: Array containing information on the draft. Each item contains a boolean relating to whether the choice is a pick or a ban, the hero ID, the team the picked or banned it, and the order. + type: array + items: + type: object + properties: + is_pick: + description: Boolean indicating whether the choice is a pick or a ban + type: boolean + hero_id: + description: The hero ID + type: integer + team: + description: The team that picked or banned the hero + type: integer + order: + description: The order of the pick or ban + type: integer + positive_votes: + description: Number of positive votes the replay received in the in-game client + type: integer + radiant_gold_adv: + description: 'Array of the Radiant gold advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their gold disadvantage. ' + type: array + items: + type: number + radiant_score: + description: Final score for Radiant (number of kills on Radiant) + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + radiant_xp_adv: + description: 'Array of the Radiant experience advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their experience disadvantage. ' + type: array + items: + type: number + start_time: + description: The Unix timestamp at which the game started + type: integer + teamfights: + description: teamfights + type: array + items: + type: array + items: + type: object + tower_status_dire: + description: Bitmask. An integer that represents a binary of which Dire towers are still standing. + type: integer + tower_status_radiant: + description: Bitmask. An integer that represents a binary of which Radiant towers are still standing. + type: integer + version: + description: Parse version, used internally by OpenDota + type: integer + replay_salt: + description: replay_salt + type: integer + series_id: + description: series_id + type: integer + series_type: + description: series_type + type: integer + radiant_team: + description: radiant_team + type: object + dire_team: + description: dire_team + type: object + league: + description: league + type: object + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + players: + description: Array of information on individual players + type: array + items: + description: player + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + ability_upgrades_arr: + description: An array describing how abilities were upgraded + type: array + items: + type: integer + ability_uses: + description: Object containing information on how many times the played used their abilities + type: object + ability_targets: + description: Object containing information on who the player used their abilities on + type: object + damage_targets: + description: Object containing information on how and how much damage the player dealt to other heroes + type: object + account_id: + description: account_id + type: integer + actions: + description: Object containing information on how many and what type of actions the player issued to their hero + type: object + additional_units: + description: Object containing information on additional units the player had under their control + type: array + items: + type: object + nullable: true + assists: + description: Number of assists the player had + type: integer + backpack_0: + description: Item in backpack slot 0 + type: integer + backpack_1: + description: Item in backpack slot 1 + type: integer + backpack_2: + description: Item in backpack slot 2 + type: integer + buyback_log: + description: Array containing information about buybacks + type: array + items: + type: object + properties: + time: + description: Time in seconds the buyback occurred + type: integer + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + camps_stacked: + description: Number of camps stacked + type: integer + connection_log: + description: Array containing information about the player's disconnections and reconnections + type: array + items: + type: object + properties: + time: + description: Game time in seconds the event ocurred + type: integer + event: + description: Event that occurred + type: string + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + creeps_stacked: + description: Number of creeps stacked + type: integer + damage: + description: Object containing information about damage dealt by the player to different units + type: object + damage_inflictor: + description: Object containing information about about the sources of this player's damage to heroes + type: object + damage_inflictor_received: + description: Object containing information about the sources of damage received by this player from heroes + type: object + damage_taken: + description: Object containing information about from whom the player took damage + type: object + deaths: + description: Number of deaths + type: integer + denies: + description: Number of denies + type: integer + dn_t: + description: Array containing number of denies at different times of the match + type: array + items: + type: integer + gold: + description: Gold at the end of the game + type: integer + gold_per_min: + description: Gold Per Minute obtained by this player + type: integer + gold_reasons: + description: Object containing information on how the player gainined gold over the course of the match + type: object + gold_spent: + description: How much gold the player spent + type: integer + gold_t: + description: Array containing total gold at different times of the match + type: array + items: + type: integer + hero_damage: + description: Hero Damage Dealt + type: integer + hero_healing: + description: Hero Healing Done + type: integer + hero_hits: + description: Object containing information on how many ticks of damages the hero inflicted with different spells and damage inflictors + type: object + hero_id: + description: The ID value of the hero played + type: integer + item_0: + description: Item in the player's first slot + type: integer + item_1: + description: Item in the player's second slot + type: integer + item_2: + description: Item in the player's third slot + type: integer + item_3: + description: Item in the player's fourth slot + type: integer + item_4: + description: Item in the player's fifth slot + type: integer + item_5: + description: Item in the player's sixth slot + type: integer + item_uses: + description: Object containing information about how many times a player used items + type: object + kill_streaks: + description: Object containing information about the player's killstreaks + type: object + killed: + description: Object containing information about what units the player killed + type: object + killed_by: + description: Object containing information about who killed the player + type: object + kills: + description: Number of kills + type: integer + kills_log: + description: Array containing information on which hero the player killed at what time + type: array + items: + type: object + properties: + time: + description: Time in seconds the player killed the hero + type: integer + key: + description: Hero killed + type: string + lane_pos: + description: Object containing information on lane position + type: object + last_hits: + description: Number of last hits + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + level: + description: Level at the end of the game + type: integer + lh_t: + description: Array describing last hits at each minute in the game + type: array + items: + type: integer + life_state: + description: life_state + type: object + max_hero_hit: + description: Object with information on the highest damage instance the player inflicted + type: object + multi_kills: + description: Object with information on the number of the number of multikills the player had + type: object + obs: + description: Object with information on where the player placed observer wards. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + obs_left_log: + description: obs_left_log + type: array + items: + type: object + obs_log: + description: Object containing information on when and where the player placed observer wards + type: array + items: + type: object + obs_placed: + description: Total number of observer wards placed + type: integer + party_id: + description: party_id + type: integer + permanent_buffs: + description: 'Array describing permanent buffs the player had at the end of the game. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/permanent_buffs.json' + type: array + items: + type: object + pings: + description: Total number of pings + type: integer + purchase: + description: Object containing information on the items the player purchased + type: object + purchase_log: + description: Object containing information on when items were purchased + type: array + items: + type: object + properties: + time: + description: Time in seconds the item was bought + type: integer + key: + description: String item ID + type: string + charges: + description: Integer amount of charges + type: integer + rune_pickups: + description: Number of runes picked up + type: integer + runes: + description: Object with information about which runes the player picked up + type: object + additionalProperties: + type: integer + runes_log: + description: Array with information on when runes were picked up + type: array + items: + type: object + properties: + time: + description: Time in seconds rune picked up + type: integer + key: + description: key + type: integer + sen: + description: Object with information on where sentries were placed. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + sen_left_log: + description: Array containing information on when and where the player placed sentries + type: array + items: + type: object + sen_log: + description: Array with information on when and where sentries were placed by the player + type: array + items: + type: object + sen_placed: + description: How many sentries were placed by the player + type: integer + stuns: + description: Total stun duration of all stuns by the player + type: number + times: + description: Time in seconds corresponding to the time of entries of other arrays in the match. + type: array + items: + type: integer + tower_damage: + description: Total tower damage done by the player + type: integer + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + xp_reasons: + description: Object containing information on the sources of this player's experience + type: object + xp_t: + description: Experience at each minute of the game + type: array + items: + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + last_login: + description: Time of player's last login + type: string + format: date-time + nullable: true + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: Start time of the match in seconds since 1970 + type: integer + duration: + description: Duration of the game in seconds + type: integer + cluster: + description: cluster + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + patch: + description: Integer representing the patch the game was played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + isRadiant: + description: Boolean for whether or not the player is on Radiant + type: boolean + win: + description: Binary integer representing whether or not the player won + type: integer + lose: + description: Binary integer representing whether or not the player lost + type: integer + total_gold: + description: Total gold at the end of the game + type: integer + total_xp: + description: Total experience at the end of the game + type: integer + kills_per_min: + description: Number of kills per minute + type: number + kda: + description: kda + type: number + abandons: + description: abandons + type: integer + neutral_kills: + description: Total number of neutral creeps killed + type: integer + tower_kills: + description: Total number of tower kills the player had + type: integer + courier_kills: + description: Total number of courier kills the player had + type: integer + lane_kills: + description: Total number of lane creeps killed by the player + type: integer + hero_kills: + description: Total number of heroes killed by the player + type: integer + observer_kills: + description: Total number of observer wards killed by the player + type: integer + sentry_kills: + description: Total number of sentry wards killed by the player + type: integer + roshan_kills: + description: Total number of roshan kills (last hit on roshan) the player had + type: integer + necronomicon_kills: + description: Total number of Necronomicon creeps killed by the player + type: integer + ancient_kills: + description: Total number of Ancient creeps killed by the player + type: integer + buyback_count: + description: Total number of buyback the player used + type: integer + observer_uses: + description: Number of observer wards used + type: integer + sentry_uses: + description: Number of sentry wards used + type: integer + lane_efficiency: + description: lane_efficiency + type: number + lane_efficiency_pct: + description: lane_efficiency_pct + type: number + lane: + description: Integer referring to which lane the hero laned in + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean referring to whether or not the player roamed + type: boolean + nullable: true + purchase_time: + description: Object with information on when the player last purchased an item + type: object + first_purchase_time: + description: Object with information on when the player first puchased an item + type: object + item_win: + description: Object with information on whether or not the item won + type: object + item_usage: + description: 'Object containing binary integers the tell whether the item was purchased by the player (note: this is always 1)' + type: object + purchase_tpscroll: + description: Total number of TP scrolls purchased by the player + type: integer + actions_per_min: + description: Actions per minute + type: integer + life_state_dead: + description: life_state_dead + type: integer + rank_tier: + description: The rank tier of the player. Tens place indicates rank, ones place indicates stars. + type: integer + cosmetics: + description: cosmetics + type: array + items: + type: object + properties: + item_id: + type: integer + name: + type: string + prefab: + type: string + creation_date: + type: string + format: date-time + nullable: true + image_inventory: + type: string + nullable: true + image_path: + type: string + nullable: true + item_description: + type: string + nullable: true + item_name: + type: string + item_rarity: + type: string + nullable: true + item_type_name: + type: string + nullable: true + used_by_heroes: + type: string + nullable: true + benchmarks: + description: Object containing information on certain benchmarks like GPM, XPM, KDA, tower damage, etc + type: object + patch: + description: Information on the patch version the game is played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + all_word_counts: + description: Word counts of the all chat messages in the player's games + type: object + my_word_counts: + description: Word counts of the player's all chat messages + type: object + throw: + description: Maximum gold advantage of the player's team if they lost the match + type: integer + comeback: + description: Maximum gold disadvantage of the player's team if they won the match + type: integer + loss: + description: Maximum gold disadvantage of the player's team if they lost the match + type: integer + win: + description: Maximum gold advantage of the player's team if they won the match + type: integer + replay_url: + description: replay_url + type: string + PlayersByRankResponse: + title: PlayersByRankResponse + type: array + items: + type: object + properties: + account_id: + description: account_id + type: number + rank_tier: + description: Integer indicating the rank/medal of the player + type: number + fh_unavailable: + description: Indicates if we were unable to fetch full history for this player due to privacy settings + type: boolean + nullable: true + PlayersResponse: + title: PlayerResponse + type: object + properties: + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + nullable: true + rank_tier: + description: rank_tier + type: number + nullable: true + leaderboard_rank: + description: leaderboard_rank + type: number + nullable: true + mmr_estimate: + description: mmr_estimate + type: object + properties: + estimate: + description: estimate + type: number + nullable: true + profile: + description: profile + type: object + properties: + account_id: + description: account_id + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + plus: + description: Boolean indicating status of current Dota Plus subscription + type: boolean + cheese: + description: cheese + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + is_contributor: + description: Boolean indicating if the user contributed to the development of OpenDota + type: boolean + default: false + is_subscriber: + description: Boolean indicating if the user subscribed to OpenDota + type: boolean + default: false + PlayerWinLossResponse: + title: PlayerWinLossResponse + type: object + properties: + win: + description: Number of wins + type: integer + lose: + description: Number of loses + type: integer + PlayerRecentMatchesResponse: + title: PlayerRecentMatchesResponse + description: match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Start time of the match in seconds elapsed since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the match + type: integer + deaths: + description: Total deaths the player had at the end of the match + type: integer + assists: + description: Total assists the player had at the end of the match + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High). If the skill is unknown, will return null. + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + gold_per_min: + description: Average gold per minute of the player + type: integer + hero_damage: + description: Total hero damage to enemy heroes + type: integer + hero_healing: + description: Total healing of ally heroes + type: integer + last_hits: + description: Total last hits the player had at the end of the match + type: integer + lane: + description: Integer corresponding to which lane the player laned in for the match + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean describing whether or not the player roamed + type: boolean + nullable: true + cluster: + description: cluster + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the players party. If not in a party, will return 1. + type: integer + nullable: true + PlayerMatchesResponse: + title: PlayerMatchesResponse + description: Object containing information on the match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Time the game started in seconds since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the game + type: integer + deaths: + description: Total deaths the player had at the end of the game + type: integer + assists: + description: Total assists the player had at the end of the game + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the player's party + type: integer + nullable: true + PlayerHeroesResponse: + title: PlayerHeroesResponse + description: hero + type: object + properties: + hero_id: + description: The ID value of the hero played + type: string + last_played: + description: last_played + type: integer + games: + description: games + type: integer + win: + description: win + type: integer + with_games: + description: with_games + type: integer + with_win: + description: with_win + type: integer + against_games: + description: against_games + type: integer + against_win: + description: against_win + type: integer + PlayerPeersResponse: + title: PlayerPeersResponse + type: object + properties: + account_id: + description: account_id + type: integer + last_played: + description: last_played + type: integer + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + with_xpm_sum: + description: with_xpm_sum + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + is_contributor: + description: is_contributor + type: boolean + is_subscriber: + description: is_subscriber + type: boolean + last_login: + description: last_login + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + PlayerProsResponse: + title: PlayerProsResponse + type: object + properties: + account_id: + description: account_id + type: integer + name: + description: name + type: string + country_code: + description: country_code + type: string + fantasy_role: + description: fantasy_role + type: integer + team_id: + description: team_id + type: integer + team_name: + description: team_name + type: string + nullable: true + team_tag: + description: team_tag + type: string + nullable: true + is_locked: + description: is_locked + type: boolean + is_pro: + description: is_pro + type: boolean + locked_until: + description: locked_until + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + nullable: true + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + last_played: + description: last_played + type: integer + nullable: true + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + nullable: true + with_xpm_sum: + description: with_xpm_sum + type: integer + nullable: true + PlayerTotalsResponse: + title: PlayerTotalsResponse + type: object + properties: + field: + description: field + type: string + 'n': + description: number + type: integer + sum: + description: sum + type: number + PlayerCountsResponse: + title: PlayerCountsResponse + type: object + properties: + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: object + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: object + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: object + lane_role: + description: lane_role + type: object + region: + description: Integer corresponding to the region the game was played on + type: object + patch: + description: patch + type: object + PlayerWardMapResponse: + title: PlayerWardMapResponse + type: object + properties: + obs: + description: obs + type: object + sen: + description: sen + type: object + PlayerWordCloudResponse: + title: PlayerWordCloudResponse + type: object + properties: + my_word_counts: + description: my_word_counts + type: object + all_word_counts: + description: all_word_counts + type: object + PlayerRatingsResponse: + title: PlayerRatingsResponse + type: object + properties: + account_id: + description: account_id + type: integer + match_id: + description: match_id + type: integer + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + time: + description: time + type: integer + PlayerRankingsResponse: + title: PlayerRankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + score: + description: hero_score + type: number + percent_rank: + description: percent_rank + type: number + card: + description: numeric_rank + type: integer + TeamObjectResponse: + title: TeamObjectResponse + type: object + properties: + team_id: + description: Team's identifier + type: integer + rating: + description: The Elo rating of the team + type: number + wins: + description: The number of games won by this team + type: integer + losses: + description: The number of losses by this team + type: integer + last_match_time: + description: The Unix timestamp of the last match played by this team + type: integer + name: + description: Team name, eg. 'Newbee' + type: string + tag: + description: The team tag/abbreviation + type: string + MatchObjectResponse: + title: MatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + radiant_team_id: + description: The Radiant's team_id + type: integer + radiant_name: + description: The Radiant's team name + type: string + dire_team_id: + description: The Dire's team_id + type: integer + dire_name: + description: The Dire's team name + type: string + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + series_id: + description: Identifier for the series of the match + type: integer + series_type: + description: Type of series the match was + type: integer + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + TeamMatchObjectResponse: + title: TeamMatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + cluster: + description: cluster + type: integer + opposing_team_id: + description: Opposing team identifier + type: integer + opposing_team_name: + description: Opposing team name, e.g. 'Evil Geniuses' + type: string + nullable: true + opposing_team_logo: + description: Opposing team logo url + type: string + HeroObjectResponse: + title: HeroObjectResponse + type: object + properties: + id: + description: Numeric identifier for the hero object + type: integer + name: + description: Dota hero command name, e.g. 'npc_dota_hero_antimage' + type: string + localized_name: + description: Hero name, e.g. 'Anti-Mage' + type: string + primary_attr: + description: Hero primary shorthand attribute name, e.g. 'agi' + type: string + attack_type: + description: Hero attack type, either 'Melee' or 'Ranged' + type: string + roles: + type: array + items: + description: A hero's role in the game + type: string + PlayerObjectResponse: + title: PlayerObjectResponse + type: object + properties: + account_id: + description: Player's account identifier + type: integer + steamid: + description: Player's steam identifier + type: string + avatar: + description: Steam picture URL (small picture) + type: string + avatarmedium: + description: Steam picture URL (medium picture) + type: string + avatarfull: + description: Steam picture URL (full picture) + type: string + profileurl: + description: Steam profile URL + type: string + personaname: + description: Player's Steam name + type: string + last_login: + description: Date and time of last login to OpenDota + type: string + format: date-time + full_history_time: + description: Date and time of last request to refresh player's match history + type: string + format: date-time + cheese: + description: Amount of dollars the player has donated to OpenDota + type: integer + fh_unavailable: + description: Whether the refresh of player' match history failed + type: boolean + loccountrycode: + description: Player's country identifier, e.g. US + type: string + name: + description: Verified player name, e.g. 'Miracle-' + type: string + country_code: + description: Player's country code + type: string + fantasy_role: + description: 'Player''s ingame role (core: 1 or support: 2)' + type: integer + team_id: + description: Player's team identifier + type: integer + team_name: + description: Player's team name, e.g. 'Evil Geniuses' + type: string + team_tag: + description: Player's team shorthand tag, e.g. 'EG' + type: string + is_locked: + description: Whether the roster lock is active + type: boolean + is_pro: + description: Whether the player is professional or not + type: boolean + locked_until: + description: When the roster lock will end + type: integer + LeagueObjectResponse: + title: LeagueObjectResponse + type: object + properties: + leagueid: + description: leagueid + type: integer + ticket: + description: ticket + type: string + banner: + description: banner + type: string + tier: + description: tier + type: string + name: + description: name + type: string + PublicMatchesResponse: + title: PublicMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + match_seq_num: + description: match_seq_num + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: start_time + type: integer + duration: + description: Duration of the game in seconds + type: integer + radiant_team: + description: radiant_team + type: string + dire_team: + description: dire_team + type: string + ParsedMatchesResponse: + title: ParsedMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + MetadataResponse: + title: MetadataResponse + type: object + properties: + banner: + description: banner + type: object + nullable: true + DistributionsResponse: + title: DistributionsResponse + type: object + properties: + ranks: + description: ranks + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + mmr: + description: mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + country_mmr: + description: country_mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + loccountrycode: + description: loccountrycode + type: string + nullable: true + count: + description: count + type: integer + avg: + description: avg + type: string + common: + description: common + type: string + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + SearchResponse: + title: SearchResponse + type: object + properties: + account_id: + description: account_id + type: integer + avatarfull: + description: avatarfull + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_match_time: + description: last_match_time. May not be present or null. + type: string + similarity: + description: similarity + type: number + RankingsResponse: + title: RankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + rankings: + description: rankings + type: array + items: + type: object + properties: + account_id: + description: account_id + type: integer + score: + description: score + type: number + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + rank_tier: + description: rank_tier + type: integer + nullable: true + BenchmarksResponse: + title: BenchmarksResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + result: + description: result + type: object + properties: + gold_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + xp_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + kills_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + last_hits_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_damage_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_healing_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + tower_damage: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: integer + HeroStatsResponse: + title: HeroStatsResponse + type: object + properties: + id: + description: id + type: integer + name: + description: name + type: string + localized_name: + description: localized_name + type: string + img: + description: img + type: string + icon: + description: icon + type: string + pro_win: + description: pro_win + type: integer + pro_pick: + description: pro_pick + type: integer + hero_id: + description: The ID value of the hero played + type: integer + pro_ban: + description: pro_ban + type: integer + 1_pick: + description: Herald picks + type: integer + 1_win: + description: Herald wins + type: integer + 2_pick: + description: Guardian picks + type: integer + 2_win: + description: Guardian wins + type: integer + 3_pick: + description: Crusader picks + type: integer + 3_win: + description: Crusader wins + type: integer + 4_pick: + description: Archon picks + type: integer + 4_win: + description: Archon wins + type: integer + 5_pick: + description: Legend picks + type: integer + 5_win: + description: Legend wins + type: integer + 6_pick: + description: Ancient picks + type: integer + 6_win: + description: Ancient wins + type: integer + 7_pick: + description: Divine picks + type: integer + 7_win: + description: Divine wins + type: integer + 8_pick: + description: Immortal picks + type: integer + 8_win: + description: Immortal wins + type: integer + turbo_pick: + description: Picks in Turbo mode this month + type: integer + turbo_win: + description: Wins in Turbo mode this month + type: integer + HeroMatchupsResponse: + title: HeroMatchupsResponse + type: object + properties: + hero_id: + description: Numeric identifier for the hero object + type: integer + games_played: + description: Number of games played + type: integer + wins: + description: Number of games won + type: integer + HeroDurationsResponse: + title: HeroDurationsResponse + type: object + properties: + duration_bin: + description: Lower bound of number of seconds the match lasted + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + HeroItemPopularityResponse: + title: HeroItemPopularityResponse + type: object + properties: + start_game_items: + description: Items bought before game started + type: object + properties: + item: + description: Number of item bought + type: integer + early_game_items: + description: Items bought in the first 10 min of the game, with cost at least 700 + type: object + properties: + item: + description: Number of item bought + type: integer + mid_game_items: + description: Items bought between 10 and 25 min of the game, with cost at least 2000 + type: object + properties: + item: + description: Number of item bought + type: integer + late_game_items: + description: Items bought at least 25 min after game started, with cost at least 4000 + type: object + properties: + item: + description: Number of item bought + type: integer + TeamPlayersResponse: + title: TeamPlayersResponse + type: object + properties: + account_id: + description: The player account ID + type: string + name: + description: The player name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + is_current_team_member: + description: If this player is on the current roster + type: boolean + TeamHeroesResponse: + title: TeamHeroesResponse + type: object + properties: + hero_id: + description: The hero ID + type: integer + name: + description: The hero name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + ReplaysResponse: + title: ReplaysResponse + type: object + properties: + match_id: + description: match_id + type: integer + cluster: + description: cluster + type: integer + replay_salt: + description: replay_salt + type: integer + RecordsResponse: + title: RecordsResponse + type: object + properties: + match_id: + description: match_id + type: string + start_time: + description: start_time + type: string + hero_id: + description: The ID value of the hero played + type: string + score: + description: score + type: string + ScenarioItemTimingsResponse: + title: ScenarioItemTimingsResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + item: + description: Purchased item + type: string + time: + description: Ingame time in seconds before the item was purchased + type: integer + games: + description: The number of games where the hero bought this item before this time + type: string + wins: + description: The number of games won where the hero bought this item before this time + type: string + ScenarioLaneRolesResponse: + title: ScenarioLaneRolesResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + lane_role: + description: The hero's lane role + type: integer + time: + description: Maximum game length in seconds + type: integer + games: + description: The number of games where the hero played in this lane role + type: string + wins: + description: The number of games won where the hero played in this lane role + type: string + ScenarioMiscResponse: + title: ScenarioMiscResponse + type: object + properties: + scenario: + description: The scenario's name or description + type: string + is_radiant: + description: Boolean indicating whether Radiant executed this scenario + type: boolean + region: + description: Region the game was played in + type: integer + games: + description: The number of games where this scenario occurred + type: string + wins: + description: The number of games won where this scenario occured + type: string + SchemaResponse: + title: SchemaResponse + type: object + properties: + table_name: + description: table_name + type: string + column_name: + description: column_name + type: string + data_type: + description: data_type + type: string + parameters: + matchIdParam: + name: match_id + in: path + required: true + schema: + type: integer + accountIdParam: + name: account_id + in: path + description: Steam32 account ID + required: true + schema: + type: integer + teamIdPathParam: + name: team_id + in: path + description: Team ID + required: true + schema: + type: integer + leagueIdPathParam: + name: league_id + in: path + description: League ID + required: true + schema: + type: integer + heroIdPathParam: + name: hero_id + in: path + description: Hero ID + required: true + schema: + type: integer + fieldParam: + name: field + in: path + description: Field to aggregate on + required: true + schema: + type: string + limitParam: + name: limit + in: query + description: Number of matches to limit to + required: false + schema: + type: integer + offsetParam: + name: offset + in: query + description: Number of matches to offset start by + required: false + schema: + type: integer + projectParam: + name: project + in: query + description: Fields to project (array) + required: false + schema: + type: string + winParam: + name: win + in: query + description: Whether the player won + required: false + schema: + type: integer + patchParam: + name: patch + in: query + description: Patch ID + required: false + schema: + type: integer + gameModeParam: + name: game_mode + in: query + description: Game Mode ID + required: false + schema: + type: integer + lobbyTypeParam: + name: lobby_type + in: query + description: Lobby type ID + required: false + schema: + type: integer + regionParam: + name: region + in: query + description: Region ID + required: false + schema: + type: integer + dateParam: + name: date + in: query + description: Days previous + required: false + schema: + type: integer + laneRoleParam: + name: lane_role + in: query + description: Lane Role ID + required: false + schema: + type: integer + heroIdParam: + name: hero_id + in: query + description: Hero ID + required: false + schema: + type: integer + isRadiantParam: + name: is_radiant + in: query + description: Whether the player was radiant + required: false + schema: + type: integer + withHeroIdParam: + name: with_hero_id + in: query + description: Hero IDs on the player's team (array) + required: false + schema: + type: integer + againstHeroIdParam: + name: against_hero_id + in: query + description: Hero IDs against the player's team (array) + required: false + schema: + type: integer + withAccountIdParam: + name: with_account_id + in: query + description: Account IDs on the player's team (array) + required: false + schema: + type: integer + againstAccountIdParam: + name: against_account_id + in: query + description: Account IDs against the player's team (array) + required: false + schema: + type: integer + includedAccountIdParam: + name: included_account_id + in: query + description: Account IDs in the match (array) + required: false + schema: + type: integer + excludedAccountIdParam: + name: excluded_account_id + in: query + description: Account IDs not in the match (array) + required: false + schema: + type: integer + significantParam: + name: significant + in: query + description: Whether the match was significant for aggregation purposes. Defaults to 1 (true), set this to 0 to return data for non-standard modes/matches. + required: false + schema: + type: integer + sortParam: + name: sort + in: query + description: The field to return matches sorted by in descending order + required: false + schema: + type: string + havingParam: + name: having + in: query + description: The minimum number of games played, for filtering hero stats + required: false + schema: + type: integer + minMmrParam: + name: min_mmr + in: query + description: Minimum average MMR + required: false + schema: + type: integer + maxMmrParam: + name: max_mmr + in: query + description: Maximum average MMR + required: false + schema: + type: integer + minTimeParam: + name: min_time + in: query + description: Minimum start time (Unix time) + required: false + schema: + type: integer + maxTimeParam: + name: max_time + in: query + description: Maximum start time (Unix time) + required: false + schema: + type: integer + mmrAscendingParam: + name: mmr_ascending + in: query + description: Order by MMR ascending + required: false + schema: + type: integer + mmrDescendingParam: + name: mmr_descending + in: query + description: Order by MMR descending + required: false + schema: + type: integer + lessThanMatchIdParam: + name: less_than_match_id + in: query + description: Get matches with a match ID lower than this value + required: false + schema: + type: integer + matchOverviewParam: + name: overview + in: query + description: Only fetch data required for match overview page + required: false + schema: + type: integer + scenarioParam: + name: scenario + in: query + description: pos_chat_1min,neg_chat_1min,courier_kill,first_blood + required: false + schema: + type: string +paths: + /scenarios/laneRoles: + get: + summary: GET /scenarios/laneRoles + description: Win rates for heroes in certain lane roles + tags: + - scenarios + parameters: + - name: lane_role + in: query + description: Filter by lane role 1-4 (Safe, Mid, Off, Jungle) + required: false + schema: + type: string + - $ref: '#/components/parameters/heroIdParam' + responses: + '200': + description: Success + content: + application/json; charset=utf-8: + schema: + type: array + items: + $ref: '#/components/schemas/ScenarioLaneRolesResponse' \ No newline at end of file diff --git a/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Simple.yaml b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Simple.yaml new file mode 100644 index 00000000000..f0782835b28 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/jetbrains/environmentgeneration/Simple.yaml @@ -0,0 +1,2461 @@ +openapi: 3.0.3 +info: + title: OpenDota API + description: | + # Introduction + The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays. + + You can find data that can be used to convert hero and ability IDs and other information provided by the API from the [dotaconstants](https://github.com/odota/dotaconstants) repository. + + **Beginning 2018-04-22, the OpenDota API is limited to 50,000 free calls per month and 60 requests/minute** We offer a Premium Tier with unlimited API calls and higher rate limits. Check out the [API page](https://www.opendota.com/api-keys) to learn more. + version: 20.0.0 +servers: + - url: https://api.opendota.com/api +components: + securitySchemes: + api_key: + type: apiKey + name: api_key + description: |- + Use an API key to remove monthly call limits and to receive higher rate limits. [Learn more and get your API key](https://www.opendota.com/api-keys). + Usage example: https://api.opendota.com/api/matches/271145478?api_key=YOUR-API-KEY + + API key can also be sent using the authorization header "Authorization: Bearer YOUR-API-KEY" + + in: query + schemas: + MatchResponse: + title: MatchResponse + type: object + properties: + match_id: + description: The ID number of the match assigned by Valve + type: integer + barracks_status_dire: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + barracks_status_radiant: + description: Bitmask. An integer that represents a binary of which barracks are still standing. 63 would mean all barracks still stand at the end of the game. + type: integer + chat: + description: Array containing information on the chat of the game + type: array + items: + type: object + properties: + time: + description: Time in seconds at which the message was said + type: integer + unit: + description: Name of the player who sent the message + type: string + key: + description: The message the player sent + type: string + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + cluster: + description: cluster + type: integer + cosmetics: + description: cosmetics + type: object + additionalProperties: + type: integer + dire_score: + description: Final score for Dire (number of kills on Radiant) + type: integer + draft_timings: + description: draft_timings + type: array + items: + description: draft_stage + type: object + properties: + order: + description: order + type: integer + pick: + description: pick + type: boolean + active_team: + description: active_team + type: integer + hero_id: + description: The ID value of the hero played + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + extra_time: + description: extra_time + type: integer + total_time_taken: + description: total_time_taken + type: integer + duration: + description: Duration of the game in seconds + type: integer + engine: + description: engine + type: integer + first_blood_time: + description: Time in seconds at which first blood occurred + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + human_players: + description: Number of human players in the game + type: integer + leagueid: + description: leagueid + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + match_seq_num: + description: match_seq_num + type: integer + negative_votes: + description: Number of negative votes the replay received in the in-game client + type: integer + objectives: + description: objectives + type: array + items: + type: object + picks_bans: + description: Array containing information on the draft. Each item contains a boolean relating to whether the choice is a pick or a ban, the hero ID, the team the picked or banned it, and the order. + type: array + items: + type: object + properties: + is_pick: + description: Boolean indicating whether the choice is a pick or a ban + type: boolean + hero_id: + description: The hero ID + type: integer + team: + description: The team that picked or banned the hero + type: integer + order: + description: The order of the pick or ban + type: integer + positive_votes: + description: Number of positive votes the replay received in the in-game client + type: integer + radiant_gold_adv: + description: 'Array of the Radiant gold advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their gold disadvantage. ' + type: array + items: + type: number + radiant_score: + description: Final score for Radiant (number of kills on Radiant) + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + radiant_xp_adv: + description: 'Array of the Radiant experience advantage at each minute in the game. A negative number means that Radiant is behind, and thus it is their experience disadvantage. ' + type: array + items: + type: number + start_time: + description: The Unix timestamp at which the game started + type: integer + teamfights: + description: teamfights + type: array + items: + type: array + items: + type: object + tower_status_dire: + description: Bitmask. An integer that represents a binary of which Dire towers are still standing. + type: integer + tower_status_radiant: + description: Bitmask. An integer that represents a binary of which Radiant towers are still standing. + type: integer + version: + description: Parse version, used internally by OpenDota + type: integer + replay_salt: + description: replay_salt + type: integer + series_id: + description: series_id + type: integer + series_type: + description: series_type + type: integer + radiant_team: + description: radiant_team + type: object + dire_team: + description: dire_team + type: object + league: + description: league + type: object + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + players: + description: Array of information on individual players + type: array + items: + description: player + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + ability_upgrades_arr: + description: An array describing how abilities were upgraded + type: array + items: + type: integer + ability_uses: + description: Object containing information on how many times the played used their abilities + type: object + ability_targets: + description: Object containing information on who the player used their abilities on + type: object + damage_targets: + description: Object containing information on how and how much damage the player dealt to other heroes + type: object + account_id: + description: account_id + type: integer + actions: + description: Object containing information on how many and what type of actions the player issued to their hero + type: object + additional_units: + description: Object containing information on additional units the player had under their control + type: array + items: + type: object + nullable: true + assists: + description: Number of assists the player had + type: integer + backpack_0: + description: Item in backpack slot 0 + type: integer + backpack_1: + description: Item in backpack slot 1 + type: integer + backpack_2: + description: Item in backpack slot 2 + type: integer + buyback_log: + description: Array containing information about buybacks + type: array + items: + type: object + properties: + time: + description: Time in seconds the buyback occurred + type: integer + slot: + description: slot + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + camps_stacked: + description: Number of camps stacked + type: integer + connection_log: + description: Array containing information about the player's disconnections and reconnections + type: array + items: + type: object + properties: + time: + description: Game time in seconds the event ocurred + type: integer + event: + description: Event that occurred + type: string + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + creeps_stacked: + description: Number of creeps stacked + type: integer + damage: + description: Object containing information about damage dealt by the player to different units + type: object + damage_inflictor: + description: Object containing information about about the sources of this player's damage to heroes + type: object + damage_inflictor_received: + description: Object containing information about the sources of damage received by this player from heroes + type: object + damage_taken: + description: Object containing information about from whom the player took damage + type: object + deaths: + description: Number of deaths + type: integer + denies: + description: Number of denies + type: integer + dn_t: + description: Array containing number of denies at different times of the match + type: array + items: + type: integer + gold: + description: Gold at the end of the game + type: integer + gold_per_min: + description: Gold Per Minute obtained by this player + type: integer + gold_reasons: + description: Object containing information on how the player gainined gold over the course of the match + type: object + gold_spent: + description: How much gold the player spent + type: integer + gold_t: + description: Array containing total gold at different times of the match + type: array + items: + type: integer + hero_damage: + description: Hero Damage Dealt + type: integer + hero_healing: + description: Hero Healing Done + type: integer + hero_hits: + description: Object containing information on how many ticks of damages the hero inflicted with different spells and damage inflictors + type: object + hero_id: + description: The ID value of the hero played + type: integer + item_0: + description: Item in the player's first slot + type: integer + item_1: + description: Item in the player's second slot + type: integer + item_2: + description: Item in the player's third slot + type: integer + item_3: + description: Item in the player's fourth slot + type: integer + item_4: + description: Item in the player's fifth slot + type: integer + item_5: + description: Item in the player's sixth slot + type: integer + item_uses: + description: Object containing information about how many times a player used items + type: object + kill_streaks: + description: Object containing information about the player's killstreaks + type: object + killed: + description: Object containing information about what units the player killed + type: object + killed_by: + description: Object containing information about who killed the player + type: object + kills: + description: Number of kills + type: integer + kills_log: + description: Array containing information on which hero the player killed at what time + type: array + items: + type: object + properties: + time: + description: Time in seconds the player killed the hero + type: integer + key: + description: Hero killed + type: string + lane_pos: + description: Object containing information on lane position + type: object + last_hits: + description: Number of last hits + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + level: + description: Level at the end of the game + type: integer + lh_t: + description: Array describing last hits at each minute in the game + type: array + items: + type: integer + life_state: + description: life_state + type: object + max_hero_hit: + description: Object with information on the highest damage instance the player inflicted + type: object + multi_kills: + description: Object with information on the number of the number of multikills the player had + type: object + obs: + description: Object with information on where the player placed observer wards. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + obs_left_log: + description: obs_left_log + type: array + items: + type: object + obs_log: + description: Object containing information on when and where the player placed observer wards + type: array + items: + type: object + obs_placed: + description: Total number of observer wards placed + type: integer + party_id: + description: party_id + type: integer + permanent_buffs: + description: 'Array describing permanent buffs the player had at the end of the game. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/permanent_buffs.json' + type: array + items: + type: object + pings: + description: Total number of pings + type: integer + purchase: + description: Object containing information on the items the player purchased + type: object + purchase_log: + description: Object containing information on when items were purchased + type: array + items: + type: object + properties: + time: + description: Time in seconds the item was bought + type: integer + key: + description: String item ID + type: string + charges: + description: Integer amount of charges + type: integer + rune_pickups: + description: Number of runes picked up + type: integer + runes: + description: Object with information about which runes the player picked up + type: object + additionalProperties: + type: integer + runes_log: + description: Array with information on when runes were picked up + type: array + items: + type: object + properties: + time: + description: Time in seconds rune picked up + type: integer + key: + description: key + type: integer + sen: + description: Object with information on where sentries were placed. The location takes the form (outer number, inner number) and are from ~64-192. + type: object + sen_left_log: + description: Array containing information on when and where the player placed sentries + type: array + items: + type: object + sen_log: + description: Array with information on when and where sentries were placed by the player + type: array + items: + type: object + sen_placed: + description: How many sentries were placed by the player + type: integer + stuns: + description: Total stun duration of all stuns by the player + type: number + times: + description: Time in seconds corresponding to the time of entries of other arrays in the match. + type: array + items: + type: integer + tower_damage: + description: Total tower damage done by the player + type: integer + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + xp_reasons: + description: Object containing information on the sources of this player's experience + type: object + xp_t: + description: Experience at each minute of the game + type: array + items: + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + last_login: + description: Time of player's last login + type: string + format: date-time + nullable: true + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: Start time of the match in seconds since 1970 + type: integer + duration: + description: Duration of the game in seconds + type: integer + cluster: + description: cluster + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + patch: + description: Integer representing the patch the game was played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + isRadiant: + description: Boolean for whether or not the player is on Radiant + type: boolean + win: + description: Binary integer representing whether or not the player won + type: integer + lose: + description: Binary integer representing whether or not the player lost + type: integer + total_gold: + description: Total gold at the end of the game + type: integer + total_xp: + description: Total experience at the end of the game + type: integer + kills_per_min: + description: Number of kills per minute + type: number + kda: + description: kda + type: number + abandons: + description: abandons + type: integer + neutral_kills: + description: Total number of neutral creeps killed + type: integer + tower_kills: + description: Total number of tower kills the player had + type: integer + courier_kills: + description: Total number of courier kills the player had + type: integer + lane_kills: + description: Total number of lane creeps killed by the player + type: integer + hero_kills: + description: Total number of heroes killed by the player + type: integer + observer_kills: + description: Total number of observer wards killed by the player + type: integer + sentry_kills: + description: Total number of sentry wards killed by the player + type: integer + roshan_kills: + description: Total number of roshan kills (last hit on roshan) the player had + type: integer + necronomicon_kills: + description: Total number of Necronomicon creeps killed by the player + type: integer + ancient_kills: + description: Total number of Ancient creeps killed by the player + type: integer + buyback_count: + description: Total number of buyback the player used + type: integer + observer_uses: + description: Number of observer wards used + type: integer + sentry_uses: + description: Number of sentry wards used + type: integer + lane_efficiency: + description: lane_efficiency + type: number + lane_efficiency_pct: + description: lane_efficiency_pct + type: number + lane: + description: Integer referring to which lane the hero laned in + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean referring to whether or not the player roamed + type: boolean + nullable: true + purchase_time: + description: Object with information on when the player last purchased an item + type: object + first_purchase_time: + description: Object with information on when the player first puchased an item + type: object + item_win: + description: Object with information on whether or not the item won + type: object + item_usage: + description: 'Object containing binary integers the tell whether the item was purchased by the player (note: this is always 1)' + type: object + purchase_tpscroll: + description: Total number of TP scrolls purchased by the player + type: integer + actions_per_min: + description: Actions per minute + type: integer + life_state_dead: + description: life_state_dead + type: integer + rank_tier: + description: The rank tier of the player. Tens place indicates rank, ones place indicates stars. + type: integer + cosmetics: + description: cosmetics + type: array + items: + type: object + properties: + item_id: + type: integer + name: + type: string + prefab: + type: string + creation_date: + type: string + format: date-time + nullable: true + image_inventory: + type: string + nullable: true + image_path: + type: string + nullable: true + item_description: + type: string + nullable: true + item_name: + type: string + item_rarity: + type: string + nullable: true + item_type_name: + type: string + nullable: true + used_by_heroes: + type: string + nullable: true + benchmarks: + description: Object containing information on certain benchmarks like GPM, XPM, KDA, tower damage, etc + type: object + patch: + description: Information on the patch version the game is played on + type: integer + region: + description: Integer corresponding to the region the game was played on + type: integer + all_word_counts: + description: Word counts of the all chat messages in the player's games + type: object + my_word_counts: + description: Word counts of the player's all chat messages + type: object + throw: + description: Maximum gold advantage of the player's team if they lost the match + type: integer + comeback: + description: Maximum gold disadvantage of the player's team if they won the match + type: integer + loss: + description: Maximum gold disadvantage of the player's team if they lost the match + type: integer + win: + description: Maximum gold advantage of the player's team if they won the match + type: integer + replay_url: + description: replay_url + type: string + PlayersByRankResponse: + title: PlayersByRankResponse + type: array + items: + type: object + properties: + account_id: + description: account_id + type: number + rank_tier: + description: Integer indicating the rank/medal of the player + type: number + fh_unavailable: + description: Indicates if we were unable to fetch full history for this player due to privacy settings + type: boolean + nullable: true + PlayersResponse: + title: PlayerResponse + type: object + properties: + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + nullable: true + rank_tier: + description: rank_tier + type: number + nullable: true + leaderboard_rank: + description: leaderboard_rank + type: number + nullable: true + mmr_estimate: + description: mmr_estimate + type: object + properties: + estimate: + description: estimate + type: number + nullable: true + profile: + description: profile + type: object + properties: + account_id: + description: account_id + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + plus: + description: Boolean indicating status of current Dota Plus subscription + type: boolean + cheese: + description: cheese + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + is_contributor: + description: Boolean indicating if the user contributed to the development of OpenDota + type: boolean + default: false + is_subscriber: + description: Boolean indicating if the user subscribed to OpenDota + type: boolean + default: false + PlayerWinLossResponse: + title: PlayerWinLossResponse + type: object + properties: + win: + description: Number of wins + type: integer + lose: + description: Number of loses + type: integer + PlayerRecentMatchesResponse: + title: PlayerRecentMatchesResponse + description: match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Start time of the match in seconds elapsed since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the match + type: integer + deaths: + description: Total deaths the player had at the end of the match + type: integer + assists: + description: Total assists the player had at the end of the match + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High). If the skill is unknown, will return null. + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + xp_per_min: + description: Experience Per Minute obtained by the player + type: integer + gold_per_min: + description: Average gold per minute of the player + type: integer + hero_damage: + description: Total hero damage to enemy heroes + type: integer + hero_healing: + description: Total healing of ally heroes + type: integer + last_hits: + description: Total last hits the player had at the end of the match + type: integer + lane: + description: Integer corresponding to which lane the player laned in for the match + type: integer + nullable: true + lane_role: + description: lane_role + type: integer + nullable: true + is_roaming: + description: Boolean describing whether or not the player roamed + type: boolean + nullable: true + cluster: + description: cluster + type: integer + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the players party. If not in a party, will return 1. + type: integer + nullable: true + PlayerMatchesResponse: + title: PlayerMatchesResponse + description: Object containing information on the match + type: object + properties: + match_id: + description: Match ID + type: integer + player_slot: + description: Which slot the player is in. 0-127 are Radiant, 128-255 are Dire + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + duration: + description: Duration of the game in seconds + type: integer + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: integer + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: integer + hero_id: + description: The ID value of the hero played + type: integer + start_time: + description: Time the game started in seconds since 1970 + type: integer + version: + description: version + type: integer + nullable: true + kills: + description: Total kills the player had at the end of the game + type: integer + deaths: + description: Total deaths the player had at the end of the game + type: integer + assists: + description: Total assists the player had at the end of the game + type: integer + skill: + description: Skill bracket assigned by Valve (Normal, High, Very High) + type: integer + nullable: true + average_rank: + description: Average rank of players with public match data + type: integer + nullable: true + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: integer + party_size: + description: Size of the player's party + type: integer + nullable: true + PlayerHeroesResponse: + title: PlayerHeroesResponse + description: hero + type: object + properties: + hero_id: + description: The ID value of the hero played + type: string + last_played: + description: last_played + type: integer + games: + description: games + type: integer + win: + description: win + type: integer + with_games: + description: with_games + type: integer + with_win: + description: with_win + type: integer + against_games: + description: against_games + type: integer + against_win: + description: against_win + type: integer + PlayerPeersResponse: + title: PlayerPeersResponse + type: object + properties: + account_id: + description: account_id + type: integer + last_played: + description: last_played + type: integer + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + with_xpm_sum: + description: with_xpm_sum + type: integer + personaname: + description: personaname + type: string + nullable: true + name: + description: name + type: string + nullable: true + is_contributor: + description: is_contributor + type: boolean + is_subscriber: + description: is_subscriber + type: boolean + last_login: + description: last_login + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + PlayerProsResponse: + title: PlayerProsResponse + type: object + properties: + account_id: + description: account_id + type: integer + name: + description: name + type: string + country_code: + description: country_code + type: string + fantasy_role: + description: fantasy_role + type: integer + team_id: + description: team_id + type: integer + team_name: + description: team_name + type: string + nullable: true + team_tag: + description: team_tag + type: string + nullable: true + is_locked: + description: is_locked + type: boolean + is_pro: + description: is_pro + type: boolean + locked_until: + description: locked_until + type: integer + nullable: true + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + nullable: true + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + last_played: + description: last_played + type: integer + nullable: true + win: + description: win + type: integer + games: + description: games + type: integer + with_win: + description: with_win + type: integer + with_games: + description: with_games + type: integer + against_win: + description: against_win + type: integer + against_games: + description: against_games + type: integer + with_gpm_sum: + description: with_gpm_sum + type: integer + nullable: true + with_xpm_sum: + description: with_xpm_sum + type: integer + nullable: true + PlayerTotalsResponse: + title: PlayerTotalsResponse + type: object + properties: + field: + description: field + type: string + 'n': + description: number + type: integer + sum: + description: sum + type: number + PlayerCountsResponse: + title: PlayerCountsResponse + type: object + properties: + leaver_status: + description: 'Integer describing whether or not the player left the game. 0: didn''t leave. 1: left safely. 2+: Abandoned' + type: object + game_mode: + description: 'Integer corresponding to game mode played. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/game_mode.json' + type: object + lobby_type: + description: 'Integer corresponding to lobby type of match. List of constants can be found here: https://github.com/odota/dotaconstants/blob/master/json/lobby_type.json' + type: object + lane_role: + description: lane_role + type: object + region: + description: Integer corresponding to the region the game was played on + type: object + patch: + description: patch + type: object + PlayerWardMapResponse: + title: PlayerWardMapResponse + type: object + properties: + obs: + description: obs + type: object + sen: + description: sen + type: object + PlayerWordCloudResponse: + title: PlayerWordCloudResponse + type: object + properties: + my_word_counts: + description: my_word_counts + type: object + all_word_counts: + description: all_word_counts + type: object + PlayerRatingsResponse: + title: PlayerRatingsResponse + type: object + properties: + account_id: + description: account_id + type: integer + match_id: + description: match_id + type: integer + solo_competitive_rank: + description: solo_competitive_rank + type: integer + nullable: true + competitive_rank: + description: competitive_rank + type: integer + time: + description: time + type: integer + PlayerRankingsResponse: + title: PlayerRankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + score: + description: hero_score + type: number + percent_rank: + description: percent_rank + type: number + card: + description: numeric_rank + type: integer + TeamObjectResponse: + title: TeamObjectResponse + type: object + properties: + team_id: + description: Team's identifier + type: integer + rating: + description: The Elo rating of the team + type: number + wins: + description: The number of games won by this team + type: integer + losses: + description: The number of losses by this team + type: integer + last_match_time: + description: The Unix timestamp of the last match played by this team + type: integer + name: + description: Team name, eg. 'Newbee' + type: string + tag: + description: The team tag/abbreviation + type: string + MatchObjectResponse: + title: MatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + radiant_team_id: + description: The Radiant's team_id + type: integer + radiant_name: + description: The Radiant's team name + type: string + dire_team_id: + description: The Dire's team_id + type: integer + dire_name: + description: The Dire's team name + type: string + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + series_id: + description: Identifier for the series of the match + type: integer + series_type: + description: Type of series the match was + type: integer + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + TeamMatchObjectResponse: + title: TeamMatchObjectResponse + type: object + properties: + match_id: + description: Used to identify individual matches, e.g. 3703866531 + type: integer + radiant: + description: Whether the team/player/hero was on Radiant + type: boolean + radiant_win: + description: Whether or not the Radiant won the match + type: boolean + radiant_score: + description: Number of kills the Radiant team had when the match ended + type: integer + dire_score: + description: Number of kills the Dire team had when the match ended + type: integer + duration: + description: Length of the match + type: integer + start_time: + description: Unix timestamp of when the match began + type: integer + leagueid: + description: Identifier for the league the match took place in + type: integer + league_name: + description: Name of league the match took place in + type: string + cluster: + description: cluster + type: integer + opposing_team_id: + description: Opposing team identifier + type: integer + opposing_team_name: + description: Opposing team name, e.g. 'Evil Geniuses' + type: string + nullable: true + opposing_team_logo: + description: Opposing team logo url + type: string + HeroObjectResponse: + title: HeroObjectResponse + type: object + properties: + id: + description: Numeric identifier for the hero object + type: integer + name: + description: Dota hero command name, e.g. 'npc_dota_hero_antimage' + type: string + localized_name: + description: Hero name, e.g. 'Anti-Mage' + type: string + primary_attr: + description: Hero primary shorthand attribute name, e.g. 'agi' + type: string + attack_type: + description: Hero attack type, either 'Melee' or 'Ranged' + type: string + roles: + type: array + items: + description: A hero's role in the game + type: string + PlayerObjectResponse: + title: PlayerObjectResponse + type: object + properties: + account_id: + description: Player's account identifier + type: integer + steamid: + description: Player's steam identifier + type: string + avatar: + description: Steam picture URL (small picture) + type: string + avatarmedium: + description: Steam picture URL (medium picture) + type: string + avatarfull: + description: Steam picture URL (full picture) + type: string + profileurl: + description: Steam profile URL + type: string + personaname: + description: Player's Steam name + type: string + last_login: + description: Date and time of last login to OpenDota + type: string + format: date-time + full_history_time: + description: Date and time of last request to refresh player's match history + type: string + format: date-time + cheese: + description: Amount of dollars the player has donated to OpenDota + type: integer + fh_unavailable: + description: Whether the refresh of player' match history failed + type: boolean + loccountrycode: + description: Player's country identifier, e.g. US + type: string + name: + description: Verified player name, e.g. 'Miracle-' + type: string + country_code: + description: Player's country code + type: string + fantasy_role: + description: 'Player''s ingame role (core: 1 or support: 2)' + type: integer + team_id: + description: Player's team identifier + type: integer + team_name: + description: Player's team name, e.g. 'Evil Geniuses' + type: string + team_tag: + description: Player's team shorthand tag, e.g. 'EG' + type: string + is_locked: + description: Whether the roster lock is active + type: boolean + is_pro: + description: Whether the player is professional or not + type: boolean + locked_until: + description: When the roster lock will end + type: integer + LeagueObjectResponse: + title: LeagueObjectResponse + type: object + properties: + leagueid: + description: leagueid + type: integer + ticket: + description: ticket + type: string + banner: + description: banner + type: string + tier: + description: tier + type: string + name: + description: name + type: string + PublicMatchesResponse: + title: PublicMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + match_seq_num: + description: match_seq_num + type: integer + radiant_win: + description: Boolean indicating whether Radiant won the match + type: boolean + start_time: + description: start_time + type: integer + duration: + description: Duration of the game in seconds + type: integer + radiant_team: + description: radiant_team + type: string + dire_team: + description: dire_team + type: string + ParsedMatchesResponse: + title: ParsedMatchesResponse + type: object + properties: + match_id: + description: match_id + type: integer + MetadataResponse: + title: MetadataResponse + type: object + properties: + banner: + description: banner + type: object + nullable: true + DistributionsResponse: + title: DistributionsResponse + type: object + properties: + ranks: + description: ranks + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + mmr: + description: mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + bin: + description: bin + type: integer + bin_name: + description: bin_name + type: integer + count: + description: count + type: integer + cumulative_sum: + description: cumulative_sum + type: integer + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + sum: + description: sum + type: object + properties: + count: + description: count + type: integer + country_mmr: + description: country_mmr + type: object + properties: + commmand: + description: command + type: string + rowCount: + description: rowCount + type: integer + rows: + description: rows + type: array + items: + type: object + properties: + loccountrycode: + description: loccountrycode + type: string + nullable: true + count: + description: count + type: integer + avg: + description: avg + type: string + common: + description: common + type: string + fields: + description: fields + type: array + items: + type: object + properties: + name: + description: name + type: string + tableID: + description: tableID + type: integer + columnID: + description: columnID + type: integer + dataTypeID: + description: dataTypeID + type: integer + dataTypeSize: + description: dataTypeSize + type: integer + dataTypeModifier: + description: dataTypeModifier + type: integer + format: + description: format + type: string + rowAsArray: + description: rowAsArray + type: boolean + SearchResponse: + title: SearchResponse + type: object + properties: + account_id: + description: account_id + type: integer + avatarfull: + description: avatarfull + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_match_time: + description: last_match_time. May not be present or null. + type: string + similarity: + description: similarity + type: number + RankingsResponse: + title: RankingsResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + rankings: + description: rankings + type: array + items: + type: object + properties: + account_id: + description: account_id + type: integer + score: + description: score + type: number + steamid: + description: steamid + type: string + nullable: true + avatar: + description: avatar + type: string + nullable: true + avatarmedium: + description: avatarmedium + type: string + nullable: true + avatarfull: + description: avatarfull + type: string + nullable: true + profileurl: + description: profileurl + type: string + nullable: true + personaname: + description: personaname + type: string + nullable: true + last_login: + description: last_login + type: string + format: date-time + nullable: true + full_history_time: + description: full_history_time + type: string + format: date-time + cheese: + description: cheese + type: integer + nullable: true + fh_unavailable: + description: fh_unavailable + type: boolean + nullable: true + loccountrycode: + description: loccountrycode + type: string + nullable: true + rank_tier: + description: rank_tier + type: integer + nullable: true + BenchmarksResponse: + title: BenchmarksResponse + type: object + properties: + hero_id: + description: The ID value of the hero played + type: integer + result: + description: result + type: object + properties: + gold_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + xp_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + kills_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + last_hits_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_damage_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + hero_healing_per_min: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: number + tower_damage: + type: array + items: + type: object + properties: + percentile: + description: percentile + type: number + value: + description: value + type: integer + HeroStatsResponse: + title: HeroStatsResponse + type: object + properties: + id: + description: id + type: integer + name: + description: name + type: string + localized_name: + description: localized_name + type: string + img: + description: img + type: string + icon: + description: icon + type: string + pro_win: + description: pro_win + type: integer + pro_pick: + description: pro_pick + type: integer + hero_id: + description: The ID value of the hero played + type: integer + pro_ban: + description: pro_ban + type: integer + 1_pick: + description: Herald picks + type: integer + 1_win: + description: Herald wins + type: integer + 2_pick: + description: Guardian picks + type: integer + 2_win: + description: Guardian wins + type: integer + 3_pick: + description: Crusader picks + type: integer + 3_win: + description: Crusader wins + type: integer + 4_pick: + description: Archon picks + type: integer + 4_win: + description: Archon wins + type: integer + 5_pick: + description: Legend picks + type: integer + 5_win: + description: Legend wins + type: integer + 6_pick: + description: Ancient picks + type: integer + 6_win: + description: Ancient wins + type: integer + 7_pick: + description: Divine picks + type: integer + 7_win: + description: Divine wins + type: integer + 8_pick: + description: Immortal picks + type: integer + 8_win: + description: Immortal wins + type: integer + turbo_pick: + description: Picks in Turbo mode this month + type: integer + turbo_win: + description: Wins in Turbo mode this month + type: integer + HeroMatchupsResponse: + title: HeroMatchupsResponse + type: object + properties: + hero_id: + description: Numeric identifier for the hero object + type: integer + games_played: + description: Number of games played + type: integer + wins: + description: Number of games won + type: integer + HeroDurationsResponse: + title: HeroDurationsResponse + type: object + properties: + duration_bin: + description: Lower bound of number of seconds the match lasted + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + HeroItemPopularityResponse: + title: HeroItemPopularityResponse + type: object + properties: + start_game_items: + description: Items bought before game started + type: object + properties: + item: + description: Number of item bought + type: integer + early_game_items: + description: Items bought in the first 10 min of the game, with cost at least 700 + type: object + properties: + item: + description: Number of item bought + type: integer + mid_game_items: + description: Items bought between 10 and 25 min of the game, with cost at least 2000 + type: object + properties: + item: + description: Number of item bought + type: integer + late_game_items: + description: Items bought at least 25 min after game started, with cost at least 4000 + type: object + properties: + item: + description: Number of item bought + type: integer + TeamPlayersResponse: + title: TeamPlayersResponse + type: object + properties: + account_id: + description: The player account ID + type: string + name: + description: The player name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + is_current_team_member: + description: If this player is on the current roster + type: boolean + TeamHeroesResponse: + title: TeamHeroesResponse + type: object + properties: + hero_id: + description: The hero ID + type: integer + name: + description: The hero name + type: string + games_played: + description: Number of games played + type: integer + wins: + description: Number of wins + type: integer + ReplaysResponse: + title: ReplaysResponse + type: object + properties: + match_id: + description: match_id + type: integer + cluster: + description: cluster + type: integer + replay_salt: + description: replay_salt + type: integer + RecordsResponse: + title: RecordsResponse + type: object + properties: + match_id: + description: match_id + type: string + start_time: + description: start_time + type: string + hero_id: + description: The ID value of the hero played + type: string + score: + description: score + type: string + ScenarioItemTimingsResponse: + title: ScenarioItemTimingsResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + item: + description: Purchased item + type: string + time: + description: Ingame time in seconds before the item was purchased + type: integer + games: + description: The number of games where the hero bought this item before this time + type: string + wins: + description: The number of games won where the hero bought this item before this time + type: string + ScenarioLaneRolesResponse: + title: ScenarioLaneRolesResponse + type: object + properties: + hero_id: + description: Hero ID + type: integer + lane_role: + description: The hero's lane role + type: integer + time: + description: Maximum game length in seconds + type: integer + games: + description: The number of games where the hero played in this lane role + type: string + wins: + description: The number of games won where the hero played in this lane role + type: string + ScenarioMiscResponse: + title: ScenarioMiscResponse + type: object + properties: + scenario: + description: The scenario's name or description + type: string + is_radiant: + description: Boolean indicating whether Radiant executed this scenario + type: boolean + region: + description: Region the game was played in + type: integer + games: + description: The number of games where this scenario occurred + type: string + wins: + description: The number of games won where this scenario occured + type: string + SchemaResponse: + title: SchemaResponse + type: object + properties: + table_name: + description: table_name + type: string + column_name: + description: column_name + type: string + data_type: + description: data_type + type: string + parameters: + matchIdParam: + name: match_id + in: path + required: true + schema: + type: integer + accountIdParam: + name: account_id + in: path + description: Steam32 account ID + required: true + schema: + type: integer + teamIdPathParam: + name: team_id + in: path + description: Team ID + required: true + schema: + type: integer + leagueIdPathParam: + name: league_id + in: path + description: League ID + required: true + schema: + type: integer + heroIdPathParam: + name: hero_id + in: path + description: Hero ID + required: true + schema: + type: integer + fieldParam: + name: field + in: path + description: Field to aggregate on + required: true + schema: + type: string + limitParam: + name: limit + in: query + description: Number of matches to limit to + required: false + schema: + type: integer + offsetParam: + name: offset + in: query + description: Number of matches to offset start by + required: false + schema: + type: integer + projectParam: + name: project + in: query + description: Fields to project (array) + required: false + schema: + type: string + winParam: + name: win + in: query + description: Whether the player won + required: false + schema: + type: integer + patchParam: + name: patch + in: query + description: Patch ID + required: false + schema: + type: integer + gameModeParam: + name: game_mode + in: query + description: Game Mode ID + required: false + schema: + type: integer + lobbyTypeParam: + name: lobby_type + in: query + description: Lobby type ID + required: false + schema: + type: integer + regionParam: + name: region + in: query + description: Region ID + required: false + schema: + type: integer + dateParam: + name: date + in: query + description: Days previous + required: false + schema: + type: integer + laneRoleParam: + name: lane_role + in: query + description: Lane Role ID + required: false + schema: + type: integer + heroIdParam: + name: hero_id + in: query + description: Hero ID + required: false + schema: + type: integer + isRadiantParam: + name: is_radiant + in: query + description: Whether the player was radiant + required: false + schema: + type: integer + withHeroIdParam: + name: with_hero_id + in: query + description: Hero IDs on the player's team (array) + required: false + schema: + type: integer + againstHeroIdParam: + name: against_hero_id + in: query + description: Hero IDs against the player's team (array) + required: false + schema: + type: integer + withAccountIdParam: + name: with_account_id + in: query + description: Account IDs on the player's team (array) + required: false + schema: + type: integer + againstAccountIdParam: + name: against_account_id + in: query + description: Account IDs against the player's team (array) + required: false + schema: + type: integer + includedAccountIdParam: + name: included_account_id + in: query + description: Account IDs in the match (array) + required: false + schema: + type: integer + excludedAccountIdParam: + name: excluded_account_id + in: query + description: Account IDs not in the match (array) + required: false + schema: + type: integer + significantParam: + name: significant + in: query + description: Whether the match was significant for aggregation purposes. Defaults to 1 (true), set this to 0 to return data for non-standard modes/matches. + required: false + schema: + type: integer + sortParam: + name: sort + in: query + description: The field to return matches sorted by in descending order + required: false + schema: + type: string + havingParam: + name: having + in: query + description: The minimum number of games played, for filtering hero stats + required: false + schema: + type: integer + minMmrParam: + name: min_mmr + in: query + description: Minimum average MMR + required: false + schema: + type: integer + maxMmrParam: + name: max_mmr + in: query + description: Maximum average MMR + required: false + schema: + type: integer + minTimeParam: + name: min_time + in: query + description: Minimum start time (Unix time) + required: false + schema: + type: integer + maxTimeParam: + name: max_time + in: query + description: Maximum start time (Unix time) + required: false + schema: + type: integer + mmrAscendingParam: + name: mmr_ascending + in: query + description: Order by MMR ascending + required: false + schema: + type: integer + mmrDescendingParam: + name: mmr_descending + in: query + description: Order by MMR descending + required: false + schema: + type: integer + lessThanMatchIdParam: + name: less_than_match_id + in: query + description: Get matches with a match ID lower than this value + required: false + schema: + type: integer + matchOverviewParam: + name: overview + in: query + description: Only fetch data required for match overview page + required: false + schema: + type: integer + scenarioParam: + name: scenario + in: query + description: pos_chat_1min,neg_chat_1min,courier_kill,first_blood + required: false + schema: + type: string +paths: + /constants: + get: + summary: GET /constants + description: Gets an array of available resources. + tags: + - constants + parameters: [] + responses: + '200': + description: Success + content: + application/json; charset=utf-8: + schema: + type: array + items: + title: ConstantsResponse + type: string \ No newline at end of file diff --git a/samples/client/github/jetbrains/http/client/.openapi-generator/FILES b/samples/client/github/jetbrains/http/client/.openapi-generator/FILES index 75193ca13a5..d65c32f61fa 100644 --- a/samples/client/github/jetbrains/http/client/.openapi-generator/FILES +++ b/samples/client/github/jetbrains/http/client/.openapi-generator/FILES @@ -33,4 +33,5 @@ Apis/SecretScanningApi.http Apis/SecurityAdvisoriesApi.http Apis/TeamsApi.http Apis/UsersApi.http +Apis/http-client.template.env.json README.md diff --git a/samples/client/github/jetbrains/http/client/Apis/ActionsApi.http b/samples/client/github/jetbrains/http/client/Apis/ActionsApi.http index 7b70d83b489..995b040ead0 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ActionsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ActionsApi.http @@ -156,7 +156,7 @@ DELETE https://api.github.com/repos/{{owner}}/{{repo}}/actions/caches/{{cache_id ### Delete GitHub Actions caches for a repository (using a cache key) ## Delete GitHub Actions caches for a repository (using a cache key) -DELETE https://api.github.com/repos/{{owner}}/{{repo}}/actions/caches +DELETE https://api.github.com/repos/{{owner}}/{{repo}}/actions/caches?key={{key}}&ref={{ref}} Accept: application/json ### Delete an artifact @@ -272,7 +272,7 @@ Accept: application/json ### List GitHub Actions caches for a repository ## List GitHub Actions caches for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/caches +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/caches?perPage={{perPage}}&page={{page}}&ref={{ref}}&key={{key}}&sort={{sort}}&direction={{direction}} Accept: application/json ### Get GitHub Actions cache usage for a repository @@ -282,7 +282,7 @@ Accept: application/json ### List repositories with GitHub Actions cache usage for an organization ## List repositories with GitHub Actions cache usage for an organization -GET https://api.github.com/orgs/{{org}}/actions/cache/usage-by-repository +GET https://api.github.com/orgs/{{org}}/actions/cache/usage-by-repository?perPage={{perPage}}&page={{page}} Accept: application/json ### Get GitHub Actions cache usage for an organization @@ -413,12 +413,12 @@ Accept: application/json ### Get a workflow run ## Get a workflow run -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}?excludePullRequests={{excludePullRequests}} Accept: application/json ### Get a workflow run attempt ## Get a workflow run attempt -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/attempts/{{attempt_number}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/attempts/{{attempt_number}}?excludePullRequests={{excludePullRequests}} Accept: application/json ### Get workflow run usage @@ -433,27 +433,27 @@ Accept: application/json ### List artifacts for a repository ## List artifacts for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/artifacts +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/artifacts?perPage={{perPage}}&page={{page}}&name={{name}} Accept: application/json ### List environment secrets ## List environment secrets -GET https://api.github.com/repositories/{{repository_id}}/environments/{{environment_name}}/secrets +GET https://api.github.com/repositories/{{repository_id}}/environments/{{environment_name}}/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List environment variables ## List environment variables -GET https://api.github.com/repositories/{{repository_id}}/environments/{{environment_name}}/variables +GET https://api.github.com/repositories/{{repository_id}}/environments/{{environment_name}}/variables?perPage={{perPage}}&page={{page}} Accept: application/json ### List jobs for a workflow run ## List jobs for a workflow run -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/jobs +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/jobs?filter={{filter}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List jobs for a workflow run attempt ## List jobs for a workflow run attempt -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/attempts/{{attempt_number}}/jobs +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/attempts/{{attempt_number}}/jobs?perPage={{perPage}}&page={{page}} Accept: application/json ### List labels for a self-hosted runner for an organization @@ -468,37 +468,37 @@ Accept: application/json ### List organization secrets ## List organization secrets -GET https://api.github.com/orgs/{{org}}/actions/secrets +GET https://api.github.com/orgs/{{org}}/actions/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List organization variables ## List organization variables -GET https://api.github.com/orgs/{{org}}/actions/variables +GET https://api.github.com/orgs/{{org}}/actions/variables?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository organization secrets ## List repository organization secrets -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/organization-secrets +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/organization-secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository organization variables ## List repository organization variables -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/organization-variables +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/organization-variables?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository secrets ## List repository secrets -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/secrets +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository variables ## List repository variables -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/variables +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/variables?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository workflows ## List repository workflows -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/workflows +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/workflows?perPage={{perPage}}&page={{page}} Accept: application/json ### List runner applications for an organization @@ -513,42 +513,42 @@ Accept: application/json ### List selected repositories for an organization secret ## List selected repositories for an organization secret -GET https://api.github.com/orgs/{{org}}/actions/secrets/{{secret_name}}/repositories +GET https://api.github.com/orgs/{{org}}/actions/secrets/{{secret_name}}/repositories?page={{page}}&perPage={{perPage}} Accept: application/json ### List selected repositories for an organization variable ## List selected repositories for an organization variable -GET https://api.github.com/orgs/{{org}}/actions/variables/{{name}}/repositories +GET https://api.github.com/orgs/{{org}}/actions/variables/{{name}}/repositories?page={{page}}&perPage={{perPage}} Accept: application/json ### List selected repositories enabled for GitHub Actions in an organization ## List selected repositories enabled for GitHub Actions in an organization -GET https://api.github.com/orgs/{{org}}/actions/permissions/repositories +GET https://api.github.com/orgs/{{org}}/actions/permissions/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### List self-hosted runners for an organization ## List self-hosted runners for an organization -GET https://api.github.com/orgs/{{org}}/actions/runners +GET https://api.github.com/orgs/{{org}}/actions/runners?name={{name}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List self-hosted runners for a repository ## List self-hosted runners for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runners +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runners?name={{name}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List workflow run artifacts ## List workflow run artifacts -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/artifacts +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs/{{run_id}}/artifacts?perPage={{perPage}}&page={{page}}&name={{name}} Accept: application/json ### List workflow runs for a workflow ## List workflow runs for a workflow -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/workflows/{{workflow_id}}/runs +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/workflows/{{workflow_id}}/runs?actor={{actor}}&branch={{branch}}&event={{event}}&status={{status}}&perPage={{perPage}}&page={{page}}&created={{created}}&excludePullRequests={{excludePullRequests}}&checkSuiteId={{checkSuiteId}}&headSha={{headSha}} Accept: application/json ### List workflow runs for a repository ## List workflow runs for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs +GET https://api.github.com/repos/{{owner}}/{{repo}}/actions/runs?actor={{actor}}&branch={{branch}}&event={{event}}&status={{status}}&perPage={{perPage}}&page={{page}}&created={{created}}&excludePullRequests={{excludePullRequests}}&checkSuiteId={{checkSuiteId}}&headSha={{headSha}} Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/ActivityApi.http b/samples/client/github/jetbrains/http/client/Apis/ActivityApi.http index 6ed76c69d66..2f667e66e83 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ActivityApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ActivityApi.http @@ -36,88 +36,88 @@ Accept: application/json ### List events for the authenticated user ## List events for the authenticated user -GET https://api.github.com/users/{{username}}/events +GET https://api.github.com/users/{{username}}/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List notifications for the authenticated user ## List notifications for the authenticated user -GET https://api.github.com/notifications +GET https://api.github.com/notifications?all={{all}}&participating={{participating}}&since={{since}}&before={{before}}&page={{page}}&perPage={{perPage}} Accept: application/json ### List organization events for the authenticated user ## List organization events for the authenticated user -GET https://api.github.com/users/{{username}}/events/orgs/{{org}} +GET https://api.github.com/users/{{username}}/events/orgs/{{org}}?perPage={{perPage}}&page={{page}} Accept: application/json ### List public events ## List public events -GET https://api.github.com/events +GET https://api.github.com/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List public events for a network of repositories ## List public events for a network of repositories -GET https://api.github.com/networks/{{owner}}/{{repo}}/events +GET https://api.github.com/networks/{{owner}}/{{repo}}/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List public events for a user ## List public events for a user -GET https://api.github.com/users/{{username}}/events/public +GET https://api.github.com/users/{{username}}/events/public?perPage={{perPage}}&page={{page}} Accept: application/json ### List public organization events ## List public organization events -GET https://api.github.com/orgs/{{org}}/events +GET https://api.github.com/orgs/{{org}}/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List events received by the authenticated user ## List events received by the authenticated user -GET https://api.github.com/users/{{username}}/received_events +GET https://api.github.com/users/{{username}}/received_events?perPage={{perPage}}&page={{page}} Accept: application/json ### List public events received by a user ## List public events received by a user -GET https://api.github.com/users/{{username}}/received_events/public +GET https://api.github.com/users/{{username}}/received_events/public?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository events ## List repository events -GET https://api.github.com/repos/{{owner}}/{{repo}}/events +GET https://api.github.com/repos/{{owner}}/{{repo}}/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository notifications for the authenticated user ## List repository notifications for the authenticated user -GET https://api.github.com/repos/{{owner}}/{{repo}}/notifications +GET https://api.github.com/repos/{{owner}}/{{repo}}/notifications?all={{all}}&participating={{participating}}&since={{since}}&before={{before}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories starred by the authenticated user ## List repositories starred by the authenticated user -GET https://api.github.com/user/starred +GET https://api.github.com/user/starred?sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json Accept: application/vnd.github.v3.star+json ### List repositories starred by a user ## List repositories starred by a user -GET https://api.github.com/users/{{username}}/starred +GET https://api.github.com/users/{{username}}/starred?sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories watched by a user ## List repositories watched by a user -GET https://api.github.com/users/{{username}}/subscriptions +GET https://api.github.com/users/{{username}}/subscriptions?perPage={{perPage}}&page={{page}} Accept: application/json ### List stargazers ## List stargazers -GET https://api.github.com/repos/{{owner}}/{{repo}}/stargazers +GET https://api.github.com/repos/{{owner}}/{{repo}}/stargazers?perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories watched by the authenticated user ## List repositories watched by the authenticated user -GET https://api.github.com/user/subscriptions +GET https://api.github.com/user/subscriptions?perPage={{perPage}}&page={{page}} Accept: application/json ### List watchers ## List watchers -GET https://api.github.com/repos/{{owner}}/{{repo}}/subscribers +GET https://api.github.com/repos/{{owner}}/{{repo}}/subscribers?perPage={{perPage}}&page={{page}} Accept: application/json ### Mark notifications as read diff --git a/samples/client/github/jetbrains/http/client/Apis/AppsApi.http b/samples/client/github/jetbrains/http/client/Apis/AppsApi.http index 1bf8d496f5a..8e1de9e7937 100644 --- a/samples/client/github/jetbrains/http/client/Apis/AppsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/AppsApi.http @@ -116,62 +116,62 @@ Accept: application/scim+json ### List accounts for a plan ## List accounts for a plan -GET https://api.github.com/marketplace_listing/plans/{{plan_id}}/accounts +GET https://api.github.com/marketplace_listing/plans/{{plan_id}}/accounts?sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List accounts for a plan (stubbed) ## List accounts for a plan (stubbed) -GET https://api.github.com/marketplace_listing/stubbed/plans/{{plan_id}}/accounts +GET https://api.github.com/marketplace_listing/stubbed/plans/{{plan_id}}/accounts?sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories accessible to the user access token ## List repositories accessible to the user access token -GET https://api.github.com/user/installations/{{installation_id}}/repositories +GET https://api.github.com/user/installations/{{installation_id}}/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### List installation requests for the authenticated app ## List installation requests for the authenticated app -GET https://api.github.com/app/installation-requests +GET https://api.github.com/app/installation-requests?perPage={{perPage}}&page={{page}} Accept: application/json ### List installations for the authenticated app ## List installations for the authenticated app -GET https://api.github.com/app/installations +GET https://api.github.com/app/installations?perPage={{perPage}}&page={{page}}&since={{since}}&outdated={{outdated}} Accept: application/json ### List app installations accessible to the user access token ## List app installations accessible to the user access token -GET https://api.github.com/user/installations +GET https://api.github.com/user/installations?perPage={{perPage}}&page={{page}} Accept: application/json ### List plans ## List plans -GET https://api.github.com/marketplace_listing/plans +GET https://api.github.com/marketplace_listing/plans?perPage={{perPage}}&page={{page}} Accept: application/json ### List plans (stubbed) ## List plans (stubbed) -GET https://api.github.com/marketplace_listing/stubbed/plans +GET https://api.github.com/marketplace_listing/stubbed/plans?perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories accessible to the app installation ## List repositories accessible to the app installation -GET https://api.github.com/installation/repositories +GET https://api.github.com/installation/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### List subscriptions for the authenticated user ## List subscriptions for the authenticated user -GET https://api.github.com/user/marketplace_purchases +GET https://api.github.com/user/marketplace_purchases?perPage={{perPage}}&page={{page}} Accept: application/json ### List subscriptions for the authenticated user (stubbed) ## List subscriptions for the authenticated user (stubbed) -GET https://api.github.com/user/marketplace_purchases/stubbed +GET https://api.github.com/user/marketplace_purchases/stubbed?perPage={{perPage}}&page={{page}} Accept: application/json ### List deliveries for an app webhook ## List deliveries for an app webhook -GET https://api.github.com/app/hook/deliveries +GET https://api.github.com/app/hook/deliveries?perPage={{perPage}}&cursor={{cursor}}&redelivery={{redelivery}} Accept: application/json Accept: application/scim+json diff --git a/samples/client/github/jetbrains/http/client/Apis/ChecksApi.http b/samples/client/github/jetbrains/http/client/Apis/ChecksApi.http index f066b958182..231cbe41304 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ChecksApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ChecksApi.http @@ -43,22 +43,22 @@ Accept: application/json ### List check run annotations ## List check run annotations -GET https://api.github.com/repos/{{owner}}/{{repo}}/check-runs/{{check_run_id}}/annotations +GET https://api.github.com/repos/{{owner}}/{{repo}}/check-runs/{{check_run_id}}/annotations?perPage={{perPage}}&page={{page}} Accept: application/json ### List check runs for a Git reference ## List check runs for a Git reference -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/check-runs +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/check-runs?checkName={{checkName}}&status={{status}}&filter={{filter}}&perPage={{perPage}}&page={{page}}&appId={{appId}} Accept: application/json ### List check runs in a check suite ## List check runs in a check suite -GET https://api.github.com/repos/{{owner}}/{{repo}}/check-suites/{{check_suite_id}}/check-runs +GET https://api.github.com/repos/{{owner}}/{{repo}}/check-suites/{{check_suite_id}}/check-runs?checkName={{checkName}}&status={{status}}&filter={{filter}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List check suites for a Git reference ## List check suites for a Git reference -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/check-suites +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/check-suites?appId={{appId}}&checkName={{checkName}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Rerequest a check run diff --git a/samples/client/github/jetbrains/http/client/Apis/ClassroomApi.http b/samples/client/github/jetbrains/http/client/Apis/ClassroomApi.http index 187f091d314..31ed31e4cef 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ClassroomApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ClassroomApi.http @@ -17,15 +17,15 @@ Accept: application/json ### List accepted assignments for an assignment ## List accepted assignments for an assignment -GET https://api.github.com/assignments/{{assignment_id}}/accepted_assignments +GET https://api.github.com/assignments/{{assignment_id}}/accepted_assignments?page={{page}}&perPage={{perPage}} Accept: application/json ### List assignments for a classroom ## List assignments for a classroom -GET https://api.github.com/classrooms/{{classroom_id}}/assignments +GET https://api.github.com/classrooms/{{classroom_id}}/assignments?page={{page}}&perPage={{perPage}} Accept: application/json ### List classrooms ## List classrooms -GET https://api.github.com/classrooms +GET https://api.github.com/classrooms?page={{page}}&perPage={{perPage}} Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/CodeScanningApi.http b/samples/client/github/jetbrains/http/client/Apis/CodeScanningApi.http index 1048d45688f..2594ec45d06 100644 --- a/samples/client/github/jetbrains/http/client/Apis/CodeScanningApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/CodeScanningApi.http @@ -2,7 +2,7 @@ ### Delete a code scanning analysis from a repository ## Delete a code scanning analysis from a repository -DELETE https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/analyses/{{analysis_id}} +DELETE https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/analyses/{{analysis_id}}?confirmDelete={{confirmDelete}} Accept: application/json Accept: application/scim+json @@ -34,17 +34,17 @@ Accept: application/json ### List instances of a code scanning alert ## List instances of a code scanning alert -GET https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/alerts/{{alert_number}}/instances +GET https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/alerts/{{alert_number}}/instances?page={{page}}&perPage={{perPage}}&ref={{ref}} Accept: application/json ### List code scanning alerts for an organization ## List code scanning alerts for an organization -GET https://api.github.com/orgs/{{org}}/code-scanning/alerts +GET https://api.github.com/orgs/{{org}}/code-scanning/alerts?toolName={{toolName}}&toolGuid={{toolGuid}}&before={{before}}&after={{after}}&page={{page}}&perPage={{perPage}}&direction={{direction}}&state={{state}}&sort={{sort}}&severity={{severity}} Accept: application/json ### List code scanning alerts for a repository ## List code scanning alerts for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/alerts +GET https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/alerts?toolName={{toolName}}&toolGuid={{toolGuid}}&page={{page}}&perPage={{perPage}}&ref={{ref}}&direction={{direction}}&sort={{sort}}&state={{state}}&severity={{severity}} Accept: application/json ### List CodeQL databases for a repository @@ -54,7 +54,7 @@ Accept: application/json ### List code scanning analyses for a repository ## List code scanning analyses for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/analyses +GET https://api.github.com/repos/{{owner}}/{{repo}}/code-scanning/analyses?toolName={{toolName}}&toolGuid={{toolGuid}}&page={{page}}&perPage={{perPage}}&ref={{ref}}&sarifId={{sarifId}}&direction={{direction}}&sort={{sort}} Accept: application/json ### Update a code scanning alert diff --git a/samples/client/github/jetbrains/http/client/Apis/CodespacesApi.http b/samples/client/github/jetbrains/http/client/Apis/CodespacesApi.http index 466b9529358..bb571b22fe9 100644 --- a/samples/client/github/jetbrains/http/client/Apis/CodespacesApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/CodespacesApi.http @@ -12,7 +12,7 @@ Accept: application/json ### Check if permissions defined by a devcontainer have been accepted by the authenticated user ## Check if permissions defined by a devcontainer have been accepted by the authenticated user -GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/permissions_check +GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/permissions_check?ref={{ref}}&devcontainerPath={{devcontainerPath}} Accept: application/json ### List machine types for a codespace @@ -138,7 +138,7 @@ Accept: application/json ### List codespaces for a user in organization ## List codespaces for a user in organization -GET https://api.github.com/orgs/{{org}}/members/{{username}}/codespaces +GET https://api.github.com/orgs/{{org}}/members/{{username}}/codespaces?perPage={{perPage}}&page={{page}} Accept: application/json ### Get details about a codespace export @@ -183,33 +183,33 @@ Accept: application/json ### List devcontainer configurations in a repository for the authenticated user ## List devcontainer configurations in a repository for the authenticated user -GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/devcontainers +GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/devcontainers?perPage={{perPage}}&page={{page}} Accept: application/json Accept: application/scim+json ### List codespaces for the authenticated user ## List codespaces for the authenticated user -GET https://api.github.com/user/codespaces +GET https://api.github.com/user/codespaces?perPage={{perPage}}&page={{page}}&repositoryId={{repositoryId}} Accept: application/json ### List codespaces for the organization ## List codespaces for the organization -GET https://api.github.com/orgs/{{org}}/codespaces +GET https://api.github.com/orgs/{{org}}/codespaces?perPage={{perPage}}&page={{page}} Accept: application/json ### List codespaces in a repository for the authenticated user ## List codespaces in a repository for the authenticated user -GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces +GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces?perPage={{perPage}}&page={{page}} Accept: application/json ### List organization secrets ## List organization secrets -GET https://api.github.com/orgs/{{org}}/codespaces/secrets +GET https://api.github.com/orgs/{{org}}/codespaces/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository secrets ## List repository secrets -GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/secrets +GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List selected repositories for a user secret @@ -219,17 +219,17 @@ Accept: application/json ### List secrets for the authenticated user ## List secrets for the authenticated user -GET https://api.github.com/user/codespaces/secrets +GET https://api.github.com/user/codespaces/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List selected repositories for an organization secret ## List selected repositories for an organization secret -GET https://api.github.com/orgs/{{org}}/codespaces/secrets/{{secret_name}}/repositories +GET https://api.github.com/orgs/{{org}}/codespaces/secrets/{{secret_name}}/repositories?page={{page}}&perPage={{perPage}} Accept: application/json ### Get default attributes for a codespace ## Get default attributes for a codespace -GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/new +GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/new?ref={{ref}}&clientIp={{clientIp}} Accept: application/json ### Create a repository from an unpublished codespace @@ -256,7 +256,7 @@ Accept: application/json ### List available machine types for a repository ## List available machine types for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/machines +GET https://api.github.com/repos/{{owner}}/{{repo}}/codespaces/machines?location={{location}}&clientIp={{clientIp}}&ref={{ref}} Accept: application/json ### Manage access control for organization codespaces diff --git a/samples/client/github/jetbrains/http/client/Apis/CopilotApi.http b/samples/client/github/jetbrains/http/client/Apis/CopilotApi.http index 405ce68f3db..70c545e85a1 100644 --- a/samples/client/github/jetbrains/http/client/Apis/CopilotApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/CopilotApi.http @@ -56,5 +56,5 @@ Accept: application/json ### List all Copilot seat assignments for an organization ## List all Copilot seat assignments for an organization -GET https://api.github.com/orgs/{{org}}/copilot/billing/seats +GET https://api.github.com/orgs/{{org}}/copilot/billing/seats?page={{page}}&perPage={{perPage}} Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/DependabotApi.http b/samples/client/github/jetbrains/http/client/Apis/DependabotApi.http index 1602fb71e3c..1bfbb7d33c7 100644 --- a/samples/client/github/jetbrains/http/client/Apis/DependabotApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/DependabotApi.http @@ -65,34 +65,34 @@ Accept: application/json ### List Dependabot alerts for an enterprise ## List Dependabot alerts for an enterprise -GET https://api.github.com/enterprises/{{enterprise}}/dependabot/alerts +GET https://api.github.com/enterprises/{{enterprise}}/dependabot/alerts?state={{state}}&severity={{severity}}&ecosystem={{ecosystem}}&package={{package}}&scope={{scope}}&sort={{sort}}&direction={{direction}}&before={{before}}&after={{after}}&first={{first}}&last={{last}}&perPage={{perPage}} Accept: application/json ### List Dependabot alerts for an organization ## List Dependabot alerts for an organization -GET https://api.github.com/orgs/{{org}}/dependabot/alerts +GET https://api.github.com/orgs/{{org}}/dependabot/alerts?state={{state}}&severity={{severity}}&ecosystem={{ecosystem}}&package={{package}}&scope={{scope}}&sort={{sort}}&direction={{direction}}&before={{before}}&after={{after}}&first={{first}}&last={{last}}&perPage={{perPage}} Accept: application/json Accept: application/scim+json ### List Dependabot alerts for a repository ## List Dependabot alerts for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/dependabot/alerts +GET https://api.github.com/repos/{{owner}}/{{repo}}/dependabot/alerts?state={{state}}&severity={{severity}}&ecosystem={{ecosystem}}&package={{package}}&manifest={{manifest}}&scope={{scope}}&sort={{sort}}&direction={{direction}}&page={{page}}&perPage={{perPage}}&before={{before}}&after={{after}}&first={{first}}&last={{last}} Accept: application/json Accept: application/scim+json ### List organization secrets ## List organization secrets -GET https://api.github.com/orgs/{{org}}/dependabot/secrets +GET https://api.github.com/orgs/{{org}}/dependabot/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository secrets ## List repository secrets -GET https://api.github.com/repos/{{owner}}/{{repo}}/dependabot/secrets +GET https://api.github.com/repos/{{owner}}/{{repo}}/dependabot/secrets?perPage={{perPage}}&page={{page}} Accept: application/json ### List selected repositories for an organization secret ## List selected repositories for an organization secret -GET https://api.github.com/orgs/{{org}}/dependabot/secrets/{{secret_name}}/repositories +GET https://api.github.com/orgs/{{org}}/dependabot/secrets/{{secret_name}}/repositories?page={{page}}&perPage={{perPage}} Accept: application/json ### Remove selected repository from an organization secret diff --git a/samples/client/github/jetbrains/http/client/Apis/DependencyGraphApi.http b/samples/client/github/jetbrains/http/client/Apis/DependencyGraphApi.http index 50698db6064..2667c6b1c71 100644 --- a/samples/client/github/jetbrains/http/client/Apis/DependencyGraphApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/DependencyGraphApi.http @@ -46,7 +46,7 @@ Accept: application/json ### Get a diff of the dependencies between commits ## Get a diff of the dependencies between commits -GET https://api.github.com/repos/{{owner}}/{{repo}}/dependency-graph/compare/{{basehead}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/dependency-graph/compare/{{basehead}}?name={{name}} Accept: application/json ### Export a software bill of materials (SBOM) for a repository. diff --git a/samples/client/github/jetbrains/http/client/Apis/GistsApi.http b/samples/client/github/jetbrains/http/client/Apis/GistsApi.http index 218a9496eca..ee504b674aa 100644 --- a/samples/client/github/jetbrains/http/client/Apis/GistsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/GistsApi.http @@ -65,37 +65,37 @@ Accept: application/json ### List gists for the authenticated user ## List gists for the authenticated user -GET https://api.github.com/gists +GET https://api.github.com/gists?since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List gist comments ## List gist comments -GET https://api.github.com/gists/{{gist_id}}/comments +GET https://api.github.com/gists/{{gist_id}}/comments?perPage={{perPage}}&page={{page}} Accept: application/json ### List gist commits ## List gist commits -GET https://api.github.com/gists/{{gist_id}}/commits +GET https://api.github.com/gists/{{gist_id}}/commits?perPage={{perPage}}&page={{page}} Accept: application/json ### List gists for a user ## List gists for a user -GET https://api.github.com/users/{{username}}/gists +GET https://api.github.com/users/{{username}}/gists?since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List gist forks ## List gist forks -GET https://api.github.com/gists/{{gist_id}}/forks +GET https://api.github.com/gists/{{gist_id}}/forks?perPage={{perPage}}&page={{page}} Accept: application/json ### List public gists ## List public gists -GET https://api.github.com/gists/public +GET https://api.github.com/gists/public?since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List starred gists ## List starred gists -GET https://api.github.com/gists/starred +GET https://api.github.com/gists/starred?since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Star a gist diff --git a/samples/client/github/jetbrains/http/client/Apis/GitApi.http b/samples/client/github/jetbrains/http/client/Apis/GitApi.http index 49ba7d3cc24..d1dbe922c87 100644 --- a/samples/client/github/jetbrains/http/client/Apis/GitApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/GitApi.http @@ -106,7 +106,7 @@ Accept: application/json ### Get a tree ## Get a tree -GET https://api.github.com/repos/{{owner}}/{{repo}}/git/trees/{{tree_sha}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/git/trees/{{tree_sha}}?recursive={{recursive}} Accept: application/json ### List matching references diff --git a/samples/client/github/jetbrains/http/client/Apis/IssuesApi.http b/samples/client/github/jetbrains/http/client/Apis/IssuesApi.http index ca9584917e9..bf47e257e01 100644 --- a/samples/client/github/jetbrains/http/client/Apis/IssuesApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/IssuesApi.http @@ -126,72 +126,72 @@ Accept: application/json ### List issues assigned to the authenticated user ## List issues assigned to the authenticated user -GET https://api.github.com/issues +GET https://api.github.com/issues?filter={{filter}}&state={{state}}&labels={{labels}}&sort={{sort}}&direction={{direction}}&since={{since}}&collab={{collab}}&orgs={{orgs}}&owned={{owned}}&pulls={{pulls}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List assignees ## List assignees -GET https://api.github.com/repos/{{owner}}/{{repo}}/assignees +GET https://api.github.com/repos/{{owner}}/{{repo}}/assignees?perPage={{perPage}}&page={{page}} Accept: application/json ### List issue comments ## List issue comments -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/comments?since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List issue comments for a repository ## List issue comments for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/comments?sort={{sort}}&direction={{direction}}&since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List issue events ## List issue events -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/events +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List issue events for a repository ## List issue events for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/events +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/events?perPage={{perPage}}&page={{page}} Accept: application/json ### List timeline events for an issue ## List timeline events for an issue -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/timeline +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/timeline?perPage={{perPage}}&page={{page}} Accept: application/json ### List user account issues assigned to the authenticated user ## List user account issues assigned to the authenticated user -GET https://api.github.com/user/issues +GET https://api.github.com/user/issues?filter={{filter}}&state={{state}}&labels={{labels}}&sort={{sort}}&direction={{direction}}&since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List organization issues assigned to the authenticated user ## List organization issues assigned to the authenticated user -GET https://api.github.com/orgs/{{org}}/issues +GET https://api.github.com/orgs/{{org}}/issues?filter={{filter}}&state={{state}}&labels={{labels}}&sort={{sort}}&direction={{direction}}&since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repository issues ## List repository issues -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues?milestone={{milestone}}&state={{state}}&assignee={{assignee}}&creator={{creator}}&mentioned={{mentioned}}&labels={{labels}}&sort={{sort}}&direction={{direction}}&since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List labels for issues in a milestone ## List labels for issues in a milestone -GET https://api.github.com/repos/{{owner}}/{{repo}}/milestones/{{milestone_number}}/labels +GET https://api.github.com/repos/{{owner}}/{{repo}}/milestones/{{milestone_number}}/labels?perPage={{perPage}}&page={{page}} Accept: application/json ### List labels for a repository ## List labels for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/labels +GET https://api.github.com/repos/{{owner}}/{{repo}}/labels?perPage={{perPage}}&page={{page}} Accept: application/json ### List labels for an issue ## List labels for an issue -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/labels +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/labels?perPage={{perPage}}&page={{page}} Accept: application/json ### List milestones ## List milestones -GET https://api.github.com/repos/{{owner}}/{{repo}}/milestones +GET https://api.github.com/repos/{{owner}}/{{repo}}/milestones?state={{state}}&sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Lock an issue diff --git a/samples/client/github/jetbrains/http/client/Apis/LicensesApi.http b/samples/client/github/jetbrains/http/client/Apis/LicensesApi.http index 5098f03ae53..8e2b7d9fed3 100644 --- a/samples/client/github/jetbrains/http/client/Apis/LicensesApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/LicensesApi.http @@ -7,10 +7,10 @@ Accept: application/json ### Get all commonly used licenses ## Get all commonly used licenses -GET https://api.github.com/licenses +GET https://api.github.com/licenses?featured={{featured}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Get the license for a repository ## Get the license for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/license +GET https://api.github.com/repos/{{owner}}/{{repo}}/license?ref={{ref}} Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/MetaApi.http b/samples/client/github/jetbrains/http/client/Apis/MetaApi.http index 966524a21b3..f4dcdf553bd 100644 --- a/samples/client/github/jetbrains/http/client/Apis/MetaApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/MetaApi.http @@ -12,7 +12,7 @@ Accept: application/json ### Get Octocat ## Get Octocat -GET https://api.github.com/octocat +GET https://api.github.com/octocat?s={{s}} Accept: application/octocat-stream ### Get the Zen of GitHub diff --git a/samples/client/github/jetbrains/http/client/Apis/MigrationsApi.http b/samples/client/github/jetbrains/http/client/Apis/MigrationsApi.http index 9cb2a9d9aaf..f626cbde66c 100644 --- a/samples/client/github/jetbrains/http/client/Apis/MigrationsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/MigrationsApi.http @@ -27,7 +27,7 @@ Accept: application/json ### Get commit authors ## Get commit authors -GET https://api.github.com/repos/{{owner}}/{{repo}}/import/authors +GET https://api.github.com/repos/{{owner}}/{{repo}}/import/authors?since={{since}} Accept: application/json ### Get an import status @@ -42,32 +42,32 @@ Accept: application/json ### Get a user migration status ## Get a user migration status -GET https://api.github.com/user/migrations/{{migration_id}} +GET https://api.github.com/user/migrations/{{migration_id}}?exclude={{exclude}} Accept: application/json ### Get an organization migration status ## Get an organization migration status -GET https://api.github.com/orgs/{{org}}/migrations/{{migration_id}} +GET https://api.github.com/orgs/{{org}}/migrations/{{migration_id}}?exclude={{exclude}} Accept: application/json ### List user migrations ## List user migrations -GET https://api.github.com/user/migrations +GET https://api.github.com/user/migrations?perPage={{perPage}}&page={{page}} Accept: application/json ### List organization migrations ## List organization migrations -GET https://api.github.com/orgs/{{org}}/migrations +GET https://api.github.com/orgs/{{org}}/migrations?perPage={{perPage}}&page={{page}}&exclude={{exclude}} Accept: application/json ### List repositories for a user migration ## List repositories for a user migration -GET https://api.github.com/user/migrations/{{migration_id}}/repositories +GET https://api.github.com/user/migrations/{{migration_id}}/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories in an organization migration ## List repositories in an organization migration -GET https://api.github.com/orgs/{{org}}/migrations/{{migration_id}}/repositories +GET https://api.github.com/orgs/{{org}}/migrations/{{migration_id}}/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### Map a commit author diff --git a/samples/client/github/jetbrains/http/client/Apis/OrgsApi.http b/samples/client/github/jetbrains/http/client/Apis/OrgsApi.http index 255218e5d8e..2460ad4e436 100644 --- a/samples/client/github/jetbrains/http/client/Apis/OrgsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/OrgsApi.http @@ -214,62 +214,62 @@ Accept: application/scim+json ### List organizations ## List organizations -GET https://api.github.com/organizations +GET https://api.github.com/organizations?since={{since}}&perPage={{perPage}} Accept: application/json ### List app installations for an organization ## List app installations for an organization -GET https://api.github.com/orgs/{{org}}/installations +GET https://api.github.com/orgs/{{org}}/installations?perPage={{perPage}}&page={{page}} Accept: application/json ### List users blocked by an organization ## List users blocked by an organization -GET https://api.github.com/orgs/{{org}}/blocks +GET https://api.github.com/orgs/{{org}}/blocks?perPage={{perPage}}&page={{page}} Accept: application/json ### List custom property values for organization repositories ## List custom property values for organization repositories -GET https://api.github.com/orgs/{{org}}/properties/values +GET https://api.github.com/orgs/{{org}}/properties/values?perPage={{perPage}}&page={{page}}&repositoryQuery={{repositoryQuery}} Accept: application/json ### List failed organization invitations ## List failed organization invitations -GET https://api.github.com/orgs/{{org}}/failed_invitations +GET https://api.github.com/orgs/{{org}}/failed_invitations?perPage={{perPage}}&page={{page}} Accept: application/json ### List organizations for the authenticated user ## List organizations for the authenticated user -GET https://api.github.com/user/orgs +GET https://api.github.com/user/orgs?perPage={{perPage}}&page={{page}} Accept: application/json ### List organizations for a user ## List organizations for a user -GET https://api.github.com/users/{{username}}/orgs +GET https://api.github.com/users/{{username}}/orgs?perPage={{perPage}}&page={{page}} Accept: application/json ### List organization invitation teams ## List organization invitation teams -GET https://api.github.com/orgs/{{org}}/invitations/{{invitation_id}}/teams +GET https://api.github.com/orgs/{{org}}/invitations/{{invitation_id}}/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List organization members ## List organization members -GET https://api.github.com/orgs/{{org}}/members +GET https://api.github.com/orgs/{{org}}/members?filter={{filter}}&role={{role}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List organization memberships for the authenticated user ## List organization memberships for the authenticated user -GET https://api.github.com/user/memberships/orgs +GET https://api.github.com/user/memberships/orgs?state={{state}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List teams that are assigned to an organization role ## List teams that are assigned to an organization role -GET https://api.github.com/orgs/{{org}}/organization-roles/{{role_id}}/teams +GET https://api.github.com/orgs/{{org}}/organization-roles/{{role_id}}/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List users that are assigned to an organization role ## List users that are assigned to an organization role -GET https://api.github.com/orgs/{{org}}/organization-roles/{{role_id}}/users +GET https://api.github.com/orgs/{{org}}/organization-roles/{{role_id}}/users?perPage={{perPage}}&page={{page}} Accept: application/json ### Get all organization roles for an organization @@ -284,37 +284,37 @@ Accept: application/json ### List outside collaborators for an organization ## List outside collaborators for an organization -GET https://api.github.com/orgs/{{org}}/outside_collaborators +GET https://api.github.com/orgs/{{org}}/outside_collaborators?filter={{filter}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories a fine-grained personal access token has access to ## List repositories a fine-grained personal access token has access to -GET https://api.github.com/orgs/{{org}}/personal-access-tokens/{{pat_id}}/repositories +GET https://api.github.com/orgs/{{org}}/personal-access-tokens/{{pat_id}}/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories requested to be accessed by a fine-grained personal access token ## List repositories requested to be accessed by a fine-grained personal access token -GET https://api.github.com/orgs/{{org}}/personal-access-token-requests/{{pat_request_id}}/repositories +GET https://api.github.com/orgs/{{org}}/personal-access-token-requests/{{pat_request_id}}/repositories?perPage={{perPage}}&page={{page}} Accept: application/json ### List requests to access organization resources with fine-grained personal access tokens ## List requests to access organization resources with fine-grained personal access tokens -GET https://api.github.com/orgs/{{org}}/personal-access-token-requests +GET https://api.github.com/orgs/{{org}}/personal-access-token-requests?perPage={{perPage}}&page={{page}}&sort={{sort}}&direction={{direction}}&owner={{owner}}&repository={{repository}}&permission={{permission}}&lastUsedBefore={{lastUsedBefore}}&lastUsedAfter={{lastUsedAfter}} Accept: application/json ### List fine-grained personal access tokens with access to organization resources ## List fine-grained personal access tokens with access to organization resources -GET https://api.github.com/orgs/{{org}}/personal-access-tokens +GET https://api.github.com/orgs/{{org}}/personal-access-tokens?perPage={{perPage}}&page={{page}}&sort={{sort}}&direction={{direction}}&owner={{owner}}&repository={{repository}}&permission={{permission}}&lastUsedBefore={{lastUsedBefore}}&lastUsedAfter={{lastUsedAfter}} Accept: application/json ### List pending organization invitations ## List pending organization invitations -GET https://api.github.com/orgs/{{org}}/invitations +GET https://api.github.com/orgs/{{org}}/invitations?perPage={{perPage}}&page={{page}}&role={{role}}&invitationSource={{invitationSource}} Accept: application/json ### List public organization members ## List public organization members -GET https://api.github.com/orgs/{{org}}/public_members +GET https://api.github.com/orgs/{{org}}/public_members?perPage={{perPage}}&page={{page}} Accept: application/json ### List security manager teams @@ -324,13 +324,13 @@ Accept: application/json ### List deliveries for an organization webhook ## List deliveries for an organization webhook -GET https://api.github.com/orgs/{{org}}/hooks/{{hook_id}}/deliveries +GET https://api.github.com/orgs/{{org}}/hooks/{{hook_id}}/deliveries?perPage={{perPage}}&cursor={{cursor}}&redelivery={{redelivery}} Accept: application/json Accept: application/scim+json ### List organization webhooks ## List organization webhooks -GET https://api.github.com/orgs/{{org}}/hooks +GET https://api.github.com/orgs/{{org}}/hooks?perPage={{perPage}}&page={{page}} Accept: application/json ### Update a custom organization role diff --git a/samples/client/github/jetbrains/http/client/Apis/PackagesApi.http b/samples/client/github/jetbrains/http/client/Apis/PackagesApi.http index 3721beb039c..dc12017e501 100644 --- a/samples/client/github/jetbrains/http/client/Apis/PackagesApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/PackagesApi.http @@ -32,12 +32,12 @@ Accept: application/json ### List package versions for a package owned by the authenticated user ## List package versions for a package owned by the authenticated user -GET https://api.github.com/user/packages/{{package_type}}/{{package_name}}/versions +GET https://api.github.com/user/packages/{{package_type}}/{{package_name}}/versions?page={{page}}&perPage={{perPage}}&state={{state}} Accept: application/json ### List package versions for a package owned by an organization ## List package versions for a package owned by an organization -GET https://api.github.com/orgs/{{org}}/packages/{{package_type}}/{{package_name}}/versions +GET https://api.github.com/orgs/{{org}}/packages/{{package_type}}/{{package_name}}/versions?page={{page}}&perPage={{perPage}}&state={{state}} Accept: application/json ### List package versions for a package owned by a user @@ -92,32 +92,32 @@ Accept: application/json ### List packages for the authenticated user's namespace ## List packages for the authenticated user's namespace -GET https://api.github.com/user/packages +GET https://api.github.com/user/packages?packageType={{packageType}}&visibility={{visibility}}&page={{page}}&perPage={{perPage}} Accept: application/json ### List packages for an organization ## List packages for an organization -GET https://api.github.com/orgs/{{org}}/packages +GET https://api.github.com/orgs/{{org}}/packages?packageType={{packageType}}&visibility={{visibility}}&page={{page}}&perPage={{perPage}} Accept: application/json ### List packages for a user ## List packages for a user -GET https://api.github.com/users/{{username}}/packages +GET https://api.github.com/users/{{username}}/packages?packageType={{packageType}}&visibility={{visibility}}&page={{page}}&perPage={{perPage}} Accept: application/json ### Restore a package for the authenticated user ## Restore a package for the authenticated user -POST https://api.github.com/user/packages/{{package_type}}/{{package_name}}/restore +POST https://api.github.com/user/packages/{{package_type}}/{{package_name}}/restore?token={{token}} Accept: application/json ### Restore a package for an organization ## Restore a package for an organization -POST https://api.github.com/orgs/{{org}}/packages/{{package_type}}/{{package_name}}/restore +POST https://api.github.com/orgs/{{org}}/packages/{{package_type}}/{{package_name}}/restore?token={{token}} Accept: application/json ### Restore a package for a user ## Restore a package for a user -POST https://api.github.com/users/{{username}}/packages/{{package_type}}/{{package_name}}/restore +POST https://api.github.com/users/{{username}}/packages/{{package_type}}/{{package_name}}/restore?token={{token}} Accept: application/json ### Restore a package version for the authenticated user diff --git a/samples/client/github/jetbrains/http/client/Apis/ProjectsApi.http b/samples/client/github/jetbrains/http/client/Apis/ProjectsApi.http index b7c6cd111ea..f734fe530dd 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ProjectsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ProjectsApi.http @@ -106,32 +106,32 @@ Accept: application/json ### List project cards ## List project cards -GET https://api.github.com/projects/columns/{{column_id}}/cards +GET https://api.github.com/projects/columns/{{column_id}}/cards?archivedState={{archivedState}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List project collaborators ## List project collaborators -GET https://api.github.com/projects/{{project_id}}/collaborators +GET https://api.github.com/projects/{{project_id}}/collaborators?affiliation={{affiliation}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List project columns ## List project columns -GET https://api.github.com/projects/{{project_id}}/columns +GET https://api.github.com/projects/{{project_id}}/columns?perPage={{perPage}}&page={{page}} Accept: application/json ### List organization projects ## List organization projects -GET https://api.github.com/orgs/{{org}}/projects +GET https://api.github.com/orgs/{{org}}/projects?state={{state}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repository projects ## List repository projects -GET https://api.github.com/repos/{{owner}}/{{repo}}/projects +GET https://api.github.com/repos/{{owner}}/{{repo}}/projects?state={{state}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List user projects ## List user projects -GET https://api.github.com/users/{{username}}/projects +GET https://api.github.com/users/{{username}}/projects?state={{state}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Move a project card diff --git a/samples/client/github/jetbrains/http/client/Apis/PullsApi.http b/samples/client/github/jetbrains/http/client/Apis/PullsApi.http index 34466eceb3d..0752af228e0 100644 --- a/samples/client/github/jetbrains/http/client/Apis/PullsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/PullsApi.http @@ -103,22 +103,22 @@ Accept: application/json ### List pull requests ## List pull requests -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls?state={{state}}&head={{head}}&base={{base}}&sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List comments for a pull request review ## List comments for a pull request review -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/reviews/{{review_id}}/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/reviews/{{review_id}}/comments?perPage={{perPage}}&page={{page}} Accept: application/json ### List commits on a pull request ## List commits on a pull request -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/commits +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/commits?perPage={{perPage}}&page={{page}} Accept: application/json ### List pull requests files ## List pull requests files -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/files +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/files?perPage={{perPage}}&page={{page}} Accept: application/json ### Get all requested reviewers for a pull request @@ -128,17 +128,17 @@ Accept: application/json ### List review comments on a pull request ## List review comments on a pull request -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/comments?sort={{sort}}&direction={{direction}}&since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List review comments in a repository ## List review comments in a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/comments?sort={{sort}}&direction={{direction}}&since={{since}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reviews for a pull request ## List reviews for a pull request -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/reviews +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/{{pull_number}}/reviews?perPage={{perPage}}&page={{page}} Accept: application/json ### Merge a pull request diff --git a/samples/client/github/jetbrains/http/client/Apis/ReactionsApi.http b/samples/client/github/jetbrains/http/client/Apis/ReactionsApi.http index 05fbddca52a..385430c5d12 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ReactionsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ReactionsApi.http @@ -129,45 +129,45 @@ DELETE https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{dis ### List reactions for a commit comment ## List reactions for a commit comment -GET https://api.github.com/repos/{{owner}}/{{repo}}/comments/{{comment_id}}/reactions +GET https://api.github.com/repos/{{owner}}/{{repo}}/comments/{{comment_id}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for an issue ## List reactions for an issue -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/reactions +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/{{issue_number}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for an issue comment ## List reactions for an issue comment -GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/comments/{{comment_id}}/reactions +GET https://api.github.com/repos/{{owner}}/{{repo}}/issues/comments/{{comment_id}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for a pull request review comment ## List reactions for a pull request review comment -GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/comments/{{comment_id}}/reactions +GET https://api.github.com/repos/{{owner}}/{{repo}}/pulls/comments/{{comment_id}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for a release ## List reactions for a release -GET https://api.github.com/repos/{{owner}}/{{repo}}/releases/{{release_id}}/reactions +GET https://api.github.com/repos/{{owner}}/{{repo}}/releases/{{release_id}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for a team discussion comment ## List reactions for a team discussion comment -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{discussion_number}}/comments/{{comment_number}}/reactions +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{discussion_number}}/comments/{{comment_number}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for a team discussion comment (Legacy) ## List reactions for a team discussion comment (Legacy) -GET https://api.github.com/teams/{{team_id}}/discussions/{{discussion_number}}/comments/{{comment_number}}/reactions +GET https://api.github.com/teams/{{team_id}}/discussions/{{discussion_number}}/comments/{{comment_number}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for a team discussion ## List reactions for a team discussion -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{discussion_number}}/reactions +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{discussion_number}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List reactions for a team discussion (Legacy) ## List reactions for a team discussion (Legacy) -GET https://api.github.com/teams/{{team_id}}/discussions/{{discussion_number}}/reactions +GET https://api.github.com/teams/{{team_id}}/discussions/{{discussion_number}}/reactions?content={{content}}&perPage={{perPage}}&page={{page}} Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/ReposApi.http b/samples/client/github/jetbrains/http/client/Apis/ReposApi.http index 958800c1d2a..eb3db68c7bc 100644 --- a/samples/client/github/jetbrains/http/client/Apis/ReposApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/ReposApi.http @@ -80,12 +80,12 @@ GET https://api.github.com/repos/{{owner}}/{{repo}}/vulnerability-alerts ### List CODEOWNERS errors ## List CODEOWNERS errors -GET https://api.github.com/repos/{{owner}}/{{repo}}/codeowners/errors +GET https://api.github.com/repos/{{owner}}/{{repo}}/codeowners/errors?ref={{ref}} Accept: application/json ### Compare two commits ## Compare two commits -GET https://api.github.com/repos/{{owner}}/{{repo}}/compare/{{basehead}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/compare/{{basehead}}?page={{page}}&perPage={{perPage}} Accept: application/json ### Create an autolink reference for a repository @@ -665,7 +665,7 @@ Accept: application/json ### List environments ## List environments -GET https://api.github.com/repos/{{owner}}/{{repo}}/environments +GET https://api.github.com/repos/{{owner}}/{{repo}}/environments?perPage={{perPage}}&page={{page}} Accept: application/json ### Get all status check contexts @@ -675,7 +675,7 @@ Accept: application/json ### Get all repository topics ## Get all repository topics -GET https://api.github.com/repos/{{owner}}/{{repo}}/topics +GET https://api.github.com/repos/{{owner}}/{{repo}}/topics?page={{page}}&perPage={{perPage}} Accept: application/json ### Get apps with access to the protected branch @@ -700,12 +700,12 @@ Accept: application/json ### Get rules for a branch ## Get rules for a branch -GET https://api.github.com/repos/{{owner}}/{{repo}}/rules/branches/{{branch}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/rules/branches/{{branch}}?perPage={{perPage}}&page={{page}} Accept: application/json ### Get repository clones ## Get repository clones -GET https://api.github.com/repos/{{owner}}/{{repo}}/traffic/clones +GET https://api.github.com/repos/{{owner}}/{{repo}}/traffic/clones?per={{per}} Accept: application/json ### Get the weekly commit activity @@ -720,12 +720,12 @@ Accept: application/json ### Get the combined status for a specific reference ## Get the combined status for a specific reference -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/status +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/status?perPage={{perPage}}&page={{page}} Accept: application/json ### Get a commit ## Get a commit -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}?page={{page}}&perPage={{perPage}} Accept: application/json ### Get the last year of commit activity @@ -750,7 +750,7 @@ Accept: application/json ### Get repository content ## Get repository content -GET https://api.github.com/repos/{{owner}}/{{repo}}/contents/{{path}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/contents/{{path}}?ref={{ref}} Accept: application/vnd.github.object Accept: application/json @@ -811,7 +811,7 @@ Accept: application/json ### List organization rule suites ## List organization rule suites -GET https://api.github.com/orgs/{{org}}/rulesets/rule-suites +GET https://api.github.com/orgs/{{org}}/rulesets/rule-suites?repositoryName={{repositoryName}}&timePeriod={{timePeriod}}&actorName={{actorName}}&ruleSuiteResult={{ruleSuiteResult}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Get an organization repository ruleset @@ -821,7 +821,7 @@ Accept: application/json ### Get all organization repository rulesets ## Get all organization repository rulesets -GET https://api.github.com/orgs/{{org}}/rulesets +GET https://api.github.com/orgs/{{org}}/rulesets?perPage={{perPage}}&page={{page}} Accept: application/json ### Get a GitHub Pages site @@ -861,12 +861,12 @@ Accept: application/json ### Get a repository README ## Get a repository README -GET https://api.github.com/repos/{{owner}}/{{repo}}/readme +GET https://api.github.com/repos/{{owner}}/{{repo}}/readme?ref={{ref}} Accept: application/json ### Get a repository README for a directory ## Get a repository README for a directory -GET https://api.github.com/repos/{{owner}}/{{repo}}/readme/{{dir}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/readme/{{dir}}?ref={{ref}} Accept: application/json ### Get a release @@ -891,17 +891,17 @@ Accept: application/json ### List repository rule suites ## List repository rule suites -GET https://api.github.com/repos/{{owner}}/{{repo}}/rulesets/rule-suites +GET https://api.github.com/repos/{{owner}}/{{repo}}/rulesets/rule-suites?ref={{ref}}&timePeriod={{timePeriod}}&actorName={{actorName}}&ruleSuiteResult={{ruleSuiteResult}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Get a repository ruleset ## Get a repository ruleset -GET https://api.github.com/repos/{{owner}}/{{repo}}/rulesets/{{ruleset_id}} +GET https://api.github.com/repos/{{owner}}/{{repo}}/rulesets/{{ruleset_id}}?includesParents={{includesParents}} Accept: application/json ### Get all repository rulesets ## Get all repository rulesets -GET https://api.github.com/repos/{{owner}}/{{repo}}/rulesets +GET https://api.github.com/repos/{{owner}}/{{repo}}/rulesets?perPage={{perPage}}&page={{page}}&includesParents={{includesParents}} Accept: application/json ### Get status checks protection @@ -931,7 +931,7 @@ Accept: application/json ### Get page views ## Get page views -GET https://api.github.com/repos/{{owner}}/{{repo}}/traffic/views +GET https://api.github.com/repos/{{owner}}/{{repo}}/traffic/views?per={{per}} Accept: application/json ### Get a repository webhook @@ -952,7 +952,7 @@ Accept: application/scim+json ### List repository activities ## List repository activities -GET https://api.github.com/repos/{{owner}}/{{repo}}/activity +GET https://api.github.com/repos/{{owner}}/{{repo}}/activity?direction={{direction}}&perPage={{perPage}}&before={{before}}&after={{after}}&ref={{ref}}&actor={{actor}}&timePeriod={{timePeriod}}&activityType={{activityType}} Accept: application/json ### Get all autolinks of a repository @@ -962,7 +962,7 @@ Accept: application/json ### List branches ## List branches -GET https://api.github.com/repos/{{owner}}/{{repo}}/branches +GET https://api.github.com/repos/{{owner}}/{{repo}}/branches?protected={{protected}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List branches for HEAD commit @@ -972,89 +972,89 @@ Accept: application/json ### List repository collaborators ## List repository collaborators -GET https://api.github.com/repos/{{owner}}/{{repo}}/collaborators +GET https://api.github.com/repos/{{owner}}/{{repo}}/collaborators?affiliation={{affiliation}}&permission={{permission}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List commit comments ## List commit comments -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{commit_sha}}/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{commit_sha}}/comments?perPage={{perPage}}&page={{page}} Accept: application/json ### List commit comments for a repository ## List commit comments for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/comments +GET https://api.github.com/repos/{{owner}}/{{repo}}/comments?perPage={{perPage}}&page={{page}} Accept: application/json ### List commit statuses for a reference ## List commit statuses for a reference -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/statuses +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{ref}}/statuses?perPage={{perPage}}&page={{page}} Accept: application/json ### List commits ## List commits -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits?sha={{sha}}&path={{path}}&author={{author}}&committer={{committer}}&since={{since}}&until={{until}}&perPage={{perPage}}&page={{page}} Accept: application/json Accept: application/scim+json ### List repository contributors ## List repository contributors -GET https://api.github.com/repos/{{owner}}/{{repo}}/contributors +GET https://api.github.com/repos/{{owner}}/{{repo}}/contributors?anon={{anon}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List custom deployment rule integrations available for an environment ## List custom deployment rule integrations available for an environment -GET https://api.github.com/repos/{{owner}}/{{repo}}/environments/{{environment_name}}/deployment_protection_rules/apps +GET https://api.github.com/repos/{{owner}}/{{repo}}/environments/{{environment_name}}/deployment_protection_rules/apps?page={{page}}&perPage={{perPage}} Accept: application/json ### List deploy keys ## List deploy keys -GET https://api.github.com/repos/{{owner}}/{{repo}}/keys +GET https://api.github.com/repos/{{owner}}/{{repo}}/keys?perPage={{perPage}}&page={{page}} Accept: application/json ### List deployment branch policies ## List deployment branch policies -GET https://api.github.com/repos/{{owner}}/{{repo}}/environments/{{environment_name}}/deployment-branch-policies +GET https://api.github.com/repos/{{owner}}/{{repo}}/environments/{{environment_name}}/deployment-branch-policies?perPage={{perPage}}&page={{page}} Accept: application/json ### List deployment statuses ## List deployment statuses -GET https://api.github.com/repos/{{owner}}/{{repo}}/deployments/{{deployment_id}}/statuses +GET https://api.github.com/repos/{{owner}}/{{repo}}/deployments/{{deployment_id}}/statuses?perPage={{perPage}}&page={{page}} Accept: application/json ### List deployments ## List deployments -GET https://api.github.com/repos/{{owner}}/{{repo}}/deployments +GET https://api.github.com/repos/{{owner}}/{{repo}}/deployments?sha={{sha}}&ref={{ref}}&task={{task}}&environment={{environment}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories for the authenticated user ## List repositories for the authenticated user -GET https://api.github.com/user/repos +GET https://api.github.com/user/repos?visibility={{visibility}}&affiliation={{affiliation}}&type={{type}}&sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}}&since={{since}}&before={{before}} Accept: application/json ### List organization repositories ## List organization repositories -GET https://api.github.com/orgs/{{org}}/repos +GET https://api.github.com/orgs/{{org}}/repos?type={{type}}&sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List repositories for a user ## List repositories for a user -GET https://api.github.com/users/{{username}}/repos +GET https://api.github.com/users/{{username}}/repos?type={{type}}&sort={{sort}}&direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List forks ## List forks -GET https://api.github.com/repos/{{owner}}/{{repo}}/forks +GET https://api.github.com/repos/{{owner}}/{{repo}}/forks?sort={{sort}}&perPage={{perPage}}&page={{page}} Accept: application/json Accept: application/scim+json ### List repository invitations ## List repository invitations -GET https://api.github.com/repos/{{owner}}/{{repo}}/invitations +GET https://api.github.com/repos/{{owner}}/{{repo}}/invitations?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository invitations for the authenticated user ## List repository invitations for the authenticated user -GET https://api.github.com/user/repository_invitations +GET https://api.github.com/user/repository_invitations?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository languages @@ -1064,27 +1064,27 @@ Accept: application/json ### List GitHub Pages builds ## List GitHub Pages builds -GET https://api.github.com/repos/{{owner}}/{{repo}}/pages/builds +GET https://api.github.com/repos/{{owner}}/{{repo}}/pages/builds?perPage={{perPage}}&page={{page}} Accept: application/json ### List public repositories ## List public repositories -GET https://api.github.com/repositories +GET https://api.github.com/repositories?since={{since}} Accept: application/json ### List pull requests associated with a commit ## List pull requests associated with a commit -GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{commit_sha}}/pulls +GET https://api.github.com/repos/{{owner}}/{{repo}}/commits/{{commit_sha}}/pulls?perPage={{perPage}}&page={{page}} Accept: application/json ### List release assets ## List release assets -GET https://api.github.com/repos/{{owner}}/{{repo}}/releases/{{release_id}}/assets +GET https://api.github.com/repos/{{owner}}/{{repo}}/releases/{{release_id}}/assets?perPage={{perPage}}&page={{page}} Accept: application/json ### List releases ## List releases -GET https://api.github.com/repos/{{owner}}/{{repo}}/releases +GET https://api.github.com/repos/{{owner}}/{{repo}}/releases?perPage={{perPage}}&page={{page}} Accept: application/json ### List tag protection states for a repository @@ -1094,23 +1094,23 @@ Accept: application/json ### List repository tags ## List repository tags -GET https://api.github.com/repos/{{owner}}/{{repo}}/tags +GET https://api.github.com/repos/{{owner}}/{{repo}}/tags?perPage={{perPage}}&page={{page}} Accept: application/json ### List repository teams ## List repository teams -GET https://api.github.com/repos/{{owner}}/{{repo}}/teams +GET https://api.github.com/repos/{{owner}}/{{repo}}/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List deliveries for a repository webhook ## List deliveries for a repository webhook -GET https://api.github.com/repos/{{owner}}/{{repo}}/hooks/{{hook_id}}/deliveries +GET https://api.github.com/repos/{{owner}}/{{repo}}/hooks/{{hook_id}}/deliveries?perPage={{perPage}}&cursor={{cursor}}&redelivery={{redelivery}} Accept: application/json Accept: application/scim+json ### List repository webhooks ## List repository webhooks -GET https://api.github.com/repos/{{owner}}/{{repo}}/hooks +GET https://api.github.com/repos/{{owner}}/{{repo}}/hooks?perPage={{perPage}}&page={{page}} Accept: application/json ### Merge a branch @@ -1559,7 +1559,7 @@ Accept: application/json ### Upload a release asset ## Upload a release asset -POST https://api.github.com/repos/{{owner}}/{{repo}}/releases/{{release_id}}/assets +POST https://api.github.com/repos/{{owner}}/{{repo}}/releases/{{release_id}}/assets?name={{name}}&label={{label}} Content-Type: application/octet-stream Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/SearchApi.http b/samples/client/github/jetbrains/http/client/Apis/SearchApi.http index ef3094ae09b..64cda158bf6 100644 --- a/samples/client/github/jetbrains/http/client/Apis/SearchApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/SearchApi.http @@ -2,35 +2,35 @@ ### Search code ## Search code -GET https://api.github.com/search/code +GET https://api.github.com/search/code?q={{q}}&sort={{sort}}&order={{order}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Search commits ## Search commits -GET https://api.github.com/search/commits +GET https://api.github.com/search/commits?q={{q}}&sort={{sort}}&order={{order}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Search issues and pull requests ## Search issues and pull requests -GET https://api.github.com/search/issues +GET https://api.github.com/search/issues?q={{q}}&sort={{sort}}&order={{order}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Search labels ## Search labels -GET https://api.github.com/search/labels +GET https://api.github.com/search/labels?repositoryId={{repositoryId}}&q={{q}}&sort={{sort}}&order={{order}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Search repositories ## Search repositories -GET https://api.github.com/search/repositories +GET https://api.github.com/search/repositories?q={{q}}&sort={{sort}}&order={{order}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Search topics ## Search topics -GET https://api.github.com/search/topics +GET https://api.github.com/search/topics?q={{q}}&perPage={{perPage}}&page={{page}} Accept: application/json ### Search users ## Search users -GET https://api.github.com/search/users +GET https://api.github.com/search/users?q={{q}}&sort={{sort}}&order={{order}}&perPage={{perPage}}&page={{page}} Accept: application/json diff --git a/samples/client/github/jetbrains/http/client/Apis/SecretScanningApi.http b/samples/client/github/jetbrains/http/client/Apis/SecretScanningApi.http index cee20eb1ff4..c5e53d7561f 100644 --- a/samples/client/github/jetbrains/http/client/Apis/SecretScanningApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/SecretScanningApi.http @@ -7,22 +7,22 @@ Accept: application/json ### List secret scanning alerts for an enterprise ## List secret scanning alerts for an enterprise -GET https://api.github.com/enterprises/{{enterprise}}/secret-scanning/alerts +GET https://api.github.com/enterprises/{{enterprise}}/secret-scanning/alerts?state={{state}}&secretType={{secretType}}&resolution={{resolution}}&sort={{sort}}&direction={{direction}}&perPage={{perPage}}&before={{before}}&after={{after}}&validity={{validity}} Accept: application/json ### List secret scanning alerts for an organization ## List secret scanning alerts for an organization -GET https://api.github.com/orgs/{{org}}/secret-scanning/alerts +GET https://api.github.com/orgs/{{org}}/secret-scanning/alerts?state={{state}}&secretType={{secretType}}&resolution={{resolution}}&sort={{sort}}&direction={{direction}}&page={{page}}&perPage={{perPage}}&before={{before}}&after={{after}}&validity={{validity}} Accept: application/json ### List secret scanning alerts for a repository ## List secret scanning alerts for a repository -GET https://api.github.com/repos/{{owner}}/{{repo}}/secret-scanning/alerts +GET https://api.github.com/repos/{{owner}}/{{repo}}/secret-scanning/alerts?state={{state}}&secretType={{secretType}}&resolution={{resolution}}&sort={{sort}}&direction={{direction}}&page={{page}}&perPage={{perPage}}&before={{before}}&after={{after}}&validity={{validity}} Accept: application/json ### List locations for a secret scanning alert ## List locations for a secret scanning alert -GET https://api.github.com/repos/{{owner}}/{{repo}}/secret-scanning/alerts/{{alert_number}}/locations +GET https://api.github.com/repos/{{owner}}/{{repo}}/secret-scanning/alerts/{{alert_number}}/locations?page={{page}}&perPage={{perPage}} Accept: application/json ### Update a secret scanning alert diff --git a/samples/client/github/jetbrains/http/client/Apis/SecurityAdvisoriesApi.http b/samples/client/github/jetbrains/http/client/Apis/SecurityAdvisoriesApi.http index 524caffffae..549d5ce6c19 100644 --- a/samples/client/github/jetbrains/http/client/Apis/SecurityAdvisoriesApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/SecurityAdvisoriesApi.http @@ -78,18 +78,18 @@ Accept: application/json ### List global security advisories ## List global security advisories -GET https://api.github.com/advisories +GET https://api.github.com/advisories?ghsaId={{ghsaId}}&type={{type}}&cveId={{cveId}}&ecosystem={{ecosystem}}&severity={{severity}}&cwes={{cwes}}&isWithdrawn={{isWithdrawn}}&affects={{affects}}&published={{published}}&updated={{updated}}&modified={{modified}}&before={{before}}&after={{after}}&direction={{direction}}&perPage={{perPage}}&sort={{sort}} Accept: application/json ### List repository security advisories for an organization ## List repository security advisories for an organization -GET https://api.github.com/orgs/{{org}}/security-advisories +GET https://api.github.com/orgs/{{org}}/security-advisories?direction={{direction}}&sort={{sort}}&before={{before}}&after={{after}}&perPage={{perPage}}&state={{state}} Accept: application/json Accept: application/scim+json ### List repository security advisories ## List repository security advisories -GET https://api.github.com/repos/{{owner}}/{{repo}}/security-advisories +GET https://api.github.com/repos/{{owner}}/{{repo}}/security-advisories?direction={{direction}}&sort={{sort}}&before={{before}}&after={{after}}&perPage={{perPage}}&state={{state}} Accept: application/json Accept: application/scim+json diff --git a/samples/client/github/jetbrains/http/client/Apis/TeamsApi.http b/samples/client/github/jetbrains/http/client/Apis/TeamsApi.http index fe9b1d98add..2bcc6f1296f 100644 --- a/samples/client/github/jetbrains/http/client/Apis/TeamsApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/TeamsApi.http @@ -222,82 +222,82 @@ Accept: application/json ### List teams ## List teams -GET https://api.github.com/orgs/{{org}}/teams +GET https://api.github.com/orgs/{{org}}/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List child teams ## List child teams -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/teams +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List child teams (Legacy) ## List child teams (Legacy) -GET https://api.github.com/teams/{{team_id}}/teams +GET https://api.github.com/teams/{{team_id}}/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List discussion comments ## List discussion comments -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{discussion_number}}/comments +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions/{{discussion_number}}/comments?direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List discussion comments (Legacy) ## List discussion comments (Legacy) -GET https://api.github.com/teams/{{team_id}}/discussions/{{discussion_number}}/comments +GET https://api.github.com/teams/{{team_id}}/discussions/{{discussion_number}}/comments?direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List discussions ## List discussions -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/discussions?direction={{direction}}&perPage={{perPage}}&page={{page}}&pinned={{pinned}} Accept: application/json ### List discussions (Legacy) ## List discussions (Legacy) -GET https://api.github.com/teams/{{team_id}}/discussions +GET https://api.github.com/teams/{{team_id}}/discussions?direction={{direction}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List teams for the authenticated user ## List teams for the authenticated user -GET https://api.github.com/user/teams +GET https://api.github.com/user/teams?perPage={{perPage}}&page={{page}} Accept: application/json ### List team members ## List team members -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/members +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/members?role={{role}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List team members (Legacy) ## List team members (Legacy) -GET https://api.github.com/teams/{{team_id}}/members +GET https://api.github.com/teams/{{team_id}}/members?role={{role}}&perPage={{perPage}}&page={{page}} Accept: application/json ### List pending team invitations ## List pending team invitations -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/invitations +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/invitations?perPage={{perPage}}&page={{page}} Accept: application/json ### List pending team invitations (Legacy) ## List pending team invitations (Legacy) -GET https://api.github.com/teams/{{team_id}}/invitations +GET https://api.github.com/teams/{{team_id}}/invitations?perPage={{perPage}}&page={{page}} Accept: application/json ### List team projects ## List team projects -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/projects +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/projects?perPage={{perPage}}&page={{page}} Accept: application/json ### List team projects (Legacy) ## List team projects (Legacy) -GET https://api.github.com/teams/{{team_id}}/projects +GET https://api.github.com/teams/{{team_id}}/projects?perPage={{perPage}}&page={{page}} Accept: application/json ### List team repositories ## List team repositories -GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/repos +GET https://api.github.com/orgs/{{org}}/teams/{{team_slug}}/repos?perPage={{perPage}}&page={{page}} Accept: application/json ### List team repositories (Legacy) ## List team repositories (Legacy) -GET https://api.github.com/teams/{{team_id}}/repos +GET https://api.github.com/teams/{{team_id}}/repos?perPage={{perPage}}&page={{page}} Accept: application/json ### Remove team member (Legacy) diff --git a/samples/client/github/jetbrains/http/client/Apis/UsersApi.http b/samples/client/github/jetbrains/http/client/Apis/UsersApi.http index 99f25ec325b..1c88c359606 100644 --- a/samples/client/github/jetbrains/http/client/Apis/UsersApi.http +++ b/samples/client/github/jetbrains/http/client/Apis/UsersApi.http @@ -131,7 +131,7 @@ Accept: application/json ### Get contextual information for a user ## Get contextual information for a user -GET https://api.github.com/users/{{username}}/hovercard +GET https://api.github.com/users/{{username}}/hovercard?subjectType={{subjectType}}&subjectId={{subjectId}} Accept: application/json ### Get a GPG key for the authenticated user @@ -151,82 +151,82 @@ Accept: application/json ### List users ## List users -GET https://api.github.com/users +GET https://api.github.com/users?since={{since}}&perPage={{perPage}} Accept: application/json ### List users blocked by the authenticated user ## List users blocked by the authenticated user -GET https://api.github.com/user/blocks +GET https://api.github.com/user/blocks?perPage={{perPage}}&page={{page}} Accept: application/json ### List email addresses for the authenticated user ## List email addresses for the authenticated user -GET https://api.github.com/user/emails +GET https://api.github.com/user/emails?perPage={{perPage}}&page={{page}} Accept: application/json ### List the people the authenticated user follows ## List the people the authenticated user follows -GET https://api.github.com/user/following +GET https://api.github.com/user/following?perPage={{perPage}}&page={{page}} Accept: application/json ### List followers of the authenticated user ## List followers of the authenticated user -GET https://api.github.com/user/followers +GET https://api.github.com/user/followers?perPage={{perPage}}&page={{page}} Accept: application/json ### List followers of a user ## List followers of a user -GET https://api.github.com/users/{{username}}/followers +GET https://api.github.com/users/{{username}}/followers?perPage={{perPage}}&page={{page}} Accept: application/json ### List the people a user follows ## List the people a user follows -GET https://api.github.com/users/{{username}}/following +GET https://api.github.com/users/{{username}}/following?perPage={{perPage}}&page={{page}} Accept: application/json ### List GPG keys for the authenticated user ## List GPG keys for the authenticated user -GET https://api.github.com/user/gpg_keys +GET https://api.github.com/user/gpg_keys?perPage={{perPage}}&page={{page}} Accept: application/json ### List GPG keys for a user ## List GPG keys for a user -GET https://api.github.com/users/{{username}}/gpg_keys +GET https://api.github.com/users/{{username}}/gpg_keys?perPage={{perPage}}&page={{page}} Accept: application/json ### List public email addresses for the authenticated user ## List public email addresses for the authenticated user -GET https://api.github.com/user/public_emails +GET https://api.github.com/user/public_emails?perPage={{perPage}}&page={{page}} Accept: application/json ### List public keys for a user ## List public keys for a user -GET https://api.github.com/users/{{username}}/keys +GET https://api.github.com/users/{{username}}/keys?perPage={{perPage}}&page={{page}} Accept: application/json ### List public SSH keys for the authenticated user ## List public SSH keys for the authenticated user -GET https://api.github.com/user/keys +GET https://api.github.com/user/keys?perPage={{perPage}}&page={{page}} Accept: application/json ### List social accounts for the authenticated user ## List social accounts for the authenticated user -GET https://api.github.com/user/social_accounts +GET https://api.github.com/user/social_accounts?perPage={{perPage}}&page={{page}} Accept: application/json ### List social accounts for a user ## List social accounts for a user -GET https://api.github.com/users/{{username}}/social_accounts +GET https://api.github.com/users/{{username}}/social_accounts?perPage={{perPage}}&page={{page}} Accept: application/json ### List SSH signing keys for the authenticated user ## List SSH signing keys for the authenticated user -GET https://api.github.com/user/ssh_signing_keys +GET https://api.github.com/user/ssh_signing_keys?perPage={{perPage}}&page={{page}} Accept: application/json ### List SSH signing keys for a user ## List SSH signing keys for a user -GET https://api.github.com/users/{{username}}/ssh_signing_keys +GET https://api.github.com/users/{{username}}/ssh_signing_keys?perPage={{perPage}}&page={{page}} Accept: application/json ### Set primary email visibility for the authenticated user diff --git a/samples/client/github/jetbrains/http/client/Apis/http-client.template.env.json b/samples/client/github/jetbrains/http/client/Apis/http-client.template.env.json new file mode 100644 index 00000000000..bcd91c0ba8d --- /dev/null +++ b/samples/client/github/jetbrains/http/client/Apis/http-client.template.env.json @@ -0,0 +1,198 @@ +{ + "dev": { + "review_id" : "", + "discussion_number" : "", + "actorName" : "", + "team_id" : "", + "artifact_id" : "", + "checkName" : "", + "invitationSource" : "", + "cwes" : "", + "branch" : "", + "resolution" : "", + "subjectId" : "", + "path" : "", + "secret_name" : "", + "status_id" : "", + "protected" : "", + "state" : "", + "repositoryQuery" : "", + "tree_sha" : "", + "labels" : "", + "perPage" : "", + "build_id" : "", + "lastUsedBefore" : "", + "assignee" : "", + "orgs" : "", + "runner_id" : "", + "role" : "", + "gist_id" : "", + "custom_property_name" : "", + "devcontainerPath" : "", + "ruleSuiteResult" : "", + "milestone_number" : "", + "reaction_id" : "", + "after" : "", + "key" : "", + "run_id" : "", + "actor" : "", + "q" : "", + "account_id" : "", + "event_id" : "", + "s" : "", + "isWithdrawn" : "", + "clientIp" : "", + "target_user" : "", + "validity" : "", + "featured" : "", + "language" : "", + "dir" : "", + "packageType" : "", + "subjectType" : "", + "client_id" : "", + "ref" : "", + "outdated" : "", + "committer" : "", + "codespace_name" : "", + "project_id" : "", + "affiliation" : "", + "appId" : "", + "exclude" : "", + "autolink_id" : "", + "pat_id" : "", + "last" : "", + "visibility" : "", + "key_id" : "", + "cveId" : "", + "export_id" : "", + "sha" : "", + "pulls" : "", + "column_id" : "", + "name" : "", + "page" : "", + "updated" : "", + "cursor" : "", + "pinned" : "", + "delivery_id" : "", + "team_slug" : "", + "content" : "", + "cache_id" : "", + "attempt_number" : "", + "scope" : "", + "repo_name" : "", + "environment_name" : "", + "owner" : "", + "severity" : "", + "anon" : "", + "comment_number" : "", + "org" : "", + "archivedState" : "", + "affects" : "", + "permission" : "", + "label" : "", + "confirmDelete" : "", + "ghsa_id" : "", + "environment" : "", + "owned" : "", + "hook_id" : "", + "package_name" : "", + "location" : "", + "username" : "", + "base" : "", + "ecosystem" : "", + "installation_id" : "", + "asset_id" : "", + "repository" : "", + "type" : "", + "commit_sha" : "", + "issue_number" : "", + "toolGuid" : "", + "participating" : "", + "per" : "", + "ssh_signing_key_id" : "", + "toolName" : "", + "order" : "", + "rule_suite_id" : "", + "collab" : "", + "tag_sha" : "", + "pages_deployment_id" : "", + "status" : "", + "invitation_id" : "", + "file_sha" : "", + "enterprise" : "", + "repo" : "", + "recursive" : "", + "template_repo" : "", + "gpg_key_id" : "", + "archive_format" : "", + "event" : "", + "basehead" : "", + "protection_rule_id" : "", + "creator" : "", + "comment_id" : "", + "repositoryName" : "", + "analysis_id" : "", + "token" : "", + "filter" : "", + "secretType" : "", + "package_version_id" : "", + "checkSuiteId" : "", + "plan_id" : "", + "first" : "", + "workflow_id" : "", + "enablement" : "", + "alert_number" : "", + "before" : "", + "package_type" : "", + "includesParents" : "", + "lastUsedAfter" : "", + "thread_id" : "", + "app_slug" : "", + "security_product" : "", + "role_id" : "", + "sarifId" : "", + "modified" : "", + "repository_id" : "", + "tag" : "", + "excludePullRequests" : "", + "all" : "", + "check_run_id" : "", + "branch_policy_id" : "", + "classroom_id" : "", + "package" : "", + "check_suite_id" : "", + "created" : "", + "pat_request_id" : "", + "author" : "", + "sort" : "", + "published" : "", + "card_id" : "", + "license" : "", + "task" : "", + "migration_id" : "", + "template_owner" : "", + "timePeriod" : "", + "author_id" : "", + "since" : "", + "release_id" : "", + "code" : "", + "pull_number" : "", + "ruleset_id" : "", + "tag_protection_id" : "", + "headSha" : "", + "head" : "", + "ghsaId" : "", + "deployment_id" : "", + "mentioned" : "", + "direction" : "", + "manifest" : "", + "redelivery" : "", + "assignment_id" : "", + "milestone" : "", + "job_id" : "", + "repositoryId" : "", + "sarif_id" : "", + "until" : "", + "activityType" : "" + } +} \ No newline at end of file diff --git a/samples/client/jetbrains/adyen/adyen/http/client/.openapi-generator/FILES b/samples/client/jetbrains/adyen/adyen/http/client/.openapi-generator/FILES index ae4035d9e7a..2123a76ec53 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/.openapi-generator/FILES +++ b/samples/client/jetbrains/adyen/adyen/http/client/.openapi-generator/FILES @@ -6,4 +6,5 @@ Apis/PaymentLinksApi.http Apis/PaymentsApi.http Apis/RecurringApi.http Apis/UtilityApi.http +Apis/http-client.template.env.json README.md diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/ClassicCheckoutSDKApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/ClassicCheckoutSDKApi.http index 5bab18fd1dc..ffb64cea0cc 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/ClassicCheckoutSDKApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/ClassicCheckoutSDKApi.http @@ -5,6 +5,7 @@ POST https://checkout-test.adyen.com/v71/paymentSession Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -29,6 +30,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentSession Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -55,6 +57,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentSession Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -79,6 +82,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentSession Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -117,6 +121,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentSession Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -142,6 +147,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/result Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/DonationsApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/DonationsApi.http index a453a5507e1..c5380ae0dca 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/DonationsApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/DonationsApi.http @@ -5,6 +5,7 @@ POST https://checkout-test.adyen.com/v71/donations Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -30,6 +31,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/donations Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/ModificationsApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/ModificationsApi.http index 3086a791ba7..5c9cd88b6d4 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/ModificationsApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/ModificationsApi.http @@ -5,6 +5,7 @@ POST https://checkout-test.adyen.com/v71/cancels Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -20,6 +21,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/{{paymentPspReference}}/amountUpdates Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -38,6 +40,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/{{paymentPspReference}}/cancels Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -52,6 +55,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/{{paymentPspReference}}/captures Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -75,6 +79,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/{{paymentPspReference}}/refunds Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -93,6 +98,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/{{paymentPspReference}}/reversals Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/OrdersApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/OrdersApi.http index fbfac9e285e..d41c3d3e869 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/OrdersApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/OrdersApi.http @@ -5,6 +5,7 @@ POST https://checkout-test.adyen.com/v71/orders Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -23,6 +24,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/orders/cancel Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -40,6 +42,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentMethods/balance Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -61,6 +64,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentMethods/balance Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentLinksApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentLinksApi.http index b6e39ff44d1..eaf49571295 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentLinksApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentLinksApi.http @@ -25,6 +25,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentLinks Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentsApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentsApi.http index 1da649be2c5..3677502bd60 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentsApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/PaymentsApi.http @@ -2,7 +2,7 @@ ### Get the result of a payment session ## Get the result of a payment session -GET https://checkout-test.adyen.com/v71/sessions/{{sessionId}} +GET https://checkout-test.adyen.com/v71/sessions/{{sessionId}}?sessionResult={{sessionResult}} Accept: application/json Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -12,6 +12,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/cardDetails Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -25,6 +26,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/cardDetails Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -40,6 +42,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentMethods Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -52,6 +55,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentMethods Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -70,6 +74,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/paymentMethods Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -89,6 +94,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -111,6 +117,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -164,6 +171,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -200,6 +208,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -226,6 +235,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -251,6 +261,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -280,6 +291,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -302,6 +314,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -324,6 +337,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -369,6 +383,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -395,6 +410,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -420,6 +436,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -451,6 +468,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -477,6 +495,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -507,6 +526,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/details Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -521,6 +541,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/payments/details Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -536,6 +557,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/sessions Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -555,6 +577,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/sessions Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -599,6 +622,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/sessions Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -622,6 +646,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/sessions Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/RecurringApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/RecurringApi.http index 72150a2723f..37354c2e97f 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/RecurringApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/RecurringApi.http @@ -2,13 +2,13 @@ ### Delete a token for stored payment details ## Delete a token for stored payment details -DELETE https://checkout-test.adyen.com/v71/storedPaymentMethods/{{storedPaymentMethodId}} +DELETE https://checkout-test.adyen.com/v71/storedPaymentMethods/{{storedPaymentMethodId}}?shopperReference={{shopperReference}}&merchantAccount={{merchantAccount}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} ### Get tokens for stored payment details ## Get tokens for stored payment details -GET https://checkout-test.adyen.com/v71/storedPaymentMethods +GET https://checkout-test.adyen.com/v71/storedPaymentMethods?shopperReference={{shopperReference}}&merchantAccount={{merchantAccount}} Accept: application/json Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/UtilityApi.http b/samples/client/jetbrains/adyen/adyen/http/client/Apis/UtilityApi.http index 66189fa7d99..0be9bddd2df 100644 --- a/samples/client/jetbrains/adyen/adyen/http/client/Apis/UtilityApi.http +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/UtilityApi.http @@ -5,6 +5,7 @@ POST https://checkout-test.adyen.com/v71/applePay/sessions Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} @@ -20,6 +21,7 @@ X-API-Key: {{apiKey}} POST https://checkout-test.adyen.com/v71/originKeys Content-Type: application/json Accept: application/json +Idempotency-Key: {{idempotencyKey}} Authorization: Basic: {{username-password}} X-API-Key: {{apiKey}} diff --git a/samples/client/jetbrains/adyen/adyen/http/client/Apis/http-client.template.env.json b/samples/client/jetbrains/adyen/adyen/http/client/Apis/http-client.template.env.json new file mode 100644 index 00000000000..ee1f0b62566 --- /dev/null +++ b/samples/client/jetbrains/adyen/adyen/http/client/Apis/http-client.template.env.json @@ -0,0 +1,12 @@ +{ + "dev": { + "linkId" : "", + "sessionResult" : "", + "merchantAccount" : "", + "paymentPspReference" : "", + "Idempotency-Key" : "", + "storedPaymentMethodId" : "", + "sessionId" : "", + "shopperReference" : "" + } +} \ No newline at end of file diff --git a/samples/client/jetbrains/adyen/checkoutbasic/http/client/.openapi-generator/FILES b/samples/client/jetbrains/adyen/checkoutbasic/http/client/.openapi-generator/FILES index bfbdad8e476..d3eef9dea9b 100644 --- a/samples/client/jetbrains/adyen/checkoutbasic/http/client/.openapi-generator/FILES +++ b/samples/client/jetbrains/adyen/checkoutbasic/http/client/.openapi-generator/FILES @@ -1,2 +1,3 @@ Apis/PaymentsApi.http +Apis/http-client.template.env.json README.md diff --git a/samples/client/jetbrains/adyen/checkoutbasic/http/client/Apis/http-client.template.env.json b/samples/client/jetbrains/adyen/checkoutbasic/http/client/Apis/http-client.template.env.json new file mode 100644 index 00000000000..68ea6ffdda6 --- /dev/null +++ b/samples/client/jetbrains/adyen/checkoutbasic/http/client/Apis/http-client.template.env.json @@ -0,0 +1,5 @@ +{ + "dev": { + "id" : "" + } +} \ No newline at end of file diff --git a/samples/client/opendota/jetbrains/http/client/.openapi-generator/FILES b/samples/client/opendota/jetbrains/http/client/.openapi-generator/FILES index 509584327d3..883340f1188 100644 --- a/samples/client/opendota/jetbrains/http/client/.openapi-generator/FILES +++ b/samples/client/opendota/jetbrains/http/client/.openapi-generator/FILES @@ -25,4 +25,5 @@ Apis/SchemaApi.http Apis/SearchApi.http Apis/StatusApi.http Apis/TeamsApi.http +Apis/http-client.template.env.json README.md diff --git a/samples/client/opendota/jetbrains/http/client/Apis/BenchmarksApi.http b/samples/client/opendota/jetbrains/http/client/Apis/BenchmarksApi.http index 51198b29006..3577ffa2a2d 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/BenchmarksApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/BenchmarksApi.http @@ -2,5 +2,5 @@ ### GET /benchmarks ## GET /benchmarks -GET https://api.opendota.com/api/benchmarks +GET https://api.opendota.com/api/benchmarks?heroId={{heroId}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/ExplorerApi.http b/samples/client/opendota/jetbrains/http/client/Apis/ExplorerApi.http index c8cd683cfb6..78232e5551f 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/ExplorerApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/ExplorerApi.http @@ -2,5 +2,5 @@ ### GET /explorer ## GET /explorer -GET https://api.opendota.com/api/explorer +GET https://api.opendota.com/api/explorer?sql={{sql}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/FindMatchesApi.http b/samples/client/opendota/jetbrains/http/client/Apis/FindMatchesApi.http index 98dff2dc01b..2cd775ae90f 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/FindMatchesApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/FindMatchesApi.http @@ -2,5 +2,5 @@ ### GET / ## GET / -GET https://api.opendota.com/api/findMatches +GET https://api.opendota.com/api/findMatches?teamA={{teamA}}&teamB={{teamB}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/ParsedMatchesApi.http b/samples/client/opendota/jetbrains/http/client/Apis/ParsedMatchesApi.http index d34b5820e39..76445b45baa 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/ParsedMatchesApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/ParsedMatchesApi.http @@ -2,5 +2,5 @@ ### GET /parsedMatches ## GET /parsedMatches -GET https://api.opendota.com/api/parsedMatches +GET https://api.opendota.com/api/parsedMatches?lessThanMatchId={{lessThanMatchId}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/PlayersApi.http b/samples/client/opendota/jetbrains/http/client/Apis/PlayersApi.http index 3d01db4f8eb..82b119eda31 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/PlayersApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/PlayersApi.http @@ -2,7 +2,7 @@ ### GET /players/{account_id}/counts ## GET /players/{account_id}/counts -GET https://api.opendota.com/api/players/{{account_id}}/counts +GET https://api.opendota.com/api/players/{{account_id}}/counts?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id} @@ -12,27 +12,27 @@ Accept: application/json; charset=utf-8 ### GET /players/{account_id}/heroes ## GET /players/{account_id}/heroes -GET https://api.opendota.com/api/players/{{account_id}}/heroes +GET https://api.opendota.com/api/players/{{account_id}}/heroes?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/histograms ## GET /players/{account_id}/histograms -GET https://api.opendota.com/api/players/{{account_id}}/histograms/{{field}} +GET https://api.opendota.com/api/players/{{account_id}}/histograms/{{field}}?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/matches ## GET /players/{account_id}/matches -GET https://api.opendota.com/api/players/{{account_id}}/matches +GET https://api.opendota.com/api/players/{{account_id}}/matches?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}}&project={{project}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/peers ## GET /players/{account_id}/peers -GET https://api.opendota.com/api/players/{{account_id}}/peers +GET https://api.opendota.com/api/players/{{account_id}}/peers?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/pros ## GET /players/{account_id}/pros -GET https://api.opendota.com/api/players/{{account_id}}/pros +GET https://api.opendota.com/api/players/{{account_id}}/pros?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/rankings @@ -57,20 +57,20 @@ Accept: application/json; charset=utf-8 ### GET /players/{account_id}/totals ## GET /players/{account_id}/totals -GET https://api.opendota.com/api/players/{{account_id}}/totals +GET https://api.opendota.com/api/players/{{account_id}}/totals?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/wardmap ## GET /players/{account_id}/wardmap -GET https://api.opendota.com/api/players/{{account_id}}/wardmap +GET https://api.opendota.com/api/players/{{account_id}}/wardmap?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/wl ## GET /players/{account_id}/wl -GET https://api.opendota.com/api/players/{{account_id}}/wl +GET https://api.opendota.com/api/players/{{account_id}}/wl?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 ### GET /players/{account_id}/wordcloud ## GET /players/{account_id}/wordcloud -GET https://api.opendota.com/api/players/{{account_id}}/wordcloud +GET https://api.opendota.com/api/players/{{account_id}}/wordcloud?limit={{limit}}&offset={{offset}}&win={{win}}&patch={{patch}}&gameMode={{gameMode}}&lobbyType={{lobbyType}}®ion={{region}}&date={{date}}&laneRole={{laneRole}}&heroId={{heroId}}&isRadiant={{isRadiant}}&includedAccountId={{includedAccountId}}&excludedAccountId={{excludedAccountId}}&withHeroId={{withHeroId}}&againstHeroId={{againstHeroId}}&significant={{significant}}&having={{having}}&sort={{sort}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/ProMatchesApi.http b/samples/client/opendota/jetbrains/http/client/Apis/ProMatchesApi.http index 56f6646bcef..00a5aac6c91 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/ProMatchesApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/ProMatchesApi.http @@ -2,5 +2,5 @@ ### GET /proMatches ## GET /proMatches -GET https://api.opendota.com/api/proMatches +GET https://api.opendota.com/api/proMatches?lessThanMatchId={{lessThanMatchId}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/PublicMatchesApi.http b/samples/client/opendota/jetbrains/http/client/Apis/PublicMatchesApi.http index d4ab569a98d..51d205860f4 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/PublicMatchesApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/PublicMatchesApi.http @@ -2,5 +2,5 @@ ### GET /publicMatches ## GET /publicMatches -GET https://api.opendota.com/api/publicMatches +GET https://api.opendota.com/api/publicMatches?mmrAscending={{mmrAscending}}&mmrDescending={{mmrDescending}}&lessThanMatchId={{lessThanMatchId}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/RankingsApi.http b/samples/client/opendota/jetbrains/http/client/Apis/RankingsApi.http index 4d764544388..4453a59a523 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/RankingsApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/RankingsApi.http @@ -2,5 +2,5 @@ ### GET /rankings ## GET /rankings -GET https://api.opendota.com/api/rankings +GET https://api.opendota.com/api/rankings?heroId={{heroId}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/ScenariosApi.http b/samples/client/opendota/jetbrains/http/client/Apis/ScenariosApi.http index 801cf08d3bd..300d0071628 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/ScenariosApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/ScenariosApi.http @@ -2,15 +2,15 @@ ### GET /scenarios/itemTimings ## GET /scenarios/itemTimings -GET https://api.opendota.com/api/scenarios/itemTimings +GET https://api.opendota.com/api/scenarios/itemTimings?item={{item}}&heroId={{heroId}} Accept: application/json; charset=utf-8 ### GET /scenarios/laneRoles ## GET /scenarios/laneRoles -GET https://api.opendota.com/api/scenarios/laneRoles +GET https://api.opendota.com/api/scenarios/laneRoles?laneRole={{laneRole}}&heroId={{heroId}} Accept: application/json; charset=utf-8 ### GET /scenarios/misc ## GET /scenarios/misc -GET https://api.opendota.com/api/scenarios/misc +GET https://api.opendota.com/api/scenarios/misc?scenario={{scenario}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/SearchApi.http b/samples/client/opendota/jetbrains/http/client/Apis/SearchApi.http index 066924a4503..ec49128db51 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/SearchApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/SearchApi.http @@ -2,5 +2,5 @@ ### GET /search ## GET /search -GET https://api.opendota.com/api/search +GET https://api.opendota.com/api/search?q={{q}} Accept: application/json; charset=utf-8 diff --git a/samples/client/opendota/jetbrains/http/client/Apis/TeamsApi.http b/samples/client/opendota/jetbrains/http/client/Apis/TeamsApi.http index 7200bf64b80..9c7245f7a0a 100644 --- a/samples/client/opendota/jetbrains/http/client/Apis/TeamsApi.http +++ b/samples/client/opendota/jetbrains/http/client/Apis/TeamsApi.http @@ -2,7 +2,7 @@ ### GET /teams ## GET /teams -GET https://api.opendota.com/api/teams +GET https://api.opendota.com/api/teams?page={{page}} Accept: application/json; charset=utf-8 ### GET /teams/{team_id} diff --git a/samples/client/opendota/jetbrains/http/client/Apis/http-client.template.env.json b/samples/client/opendota/jetbrains/http/client/Apis/http-client.template.env.json new file mode 100644 index 00000000000..38a3878f209 --- /dev/null +++ b/samples/client/opendota/jetbrains/http/client/Apis/http-client.template.env.json @@ -0,0 +1,41 @@ +{ + "dev": { + "lobbyType" : "", + "date" : "", + "heroId" : "", + "project" : "", + "team_id" : "", + "includedAccountId" : "", + "sql" : "", + "patch" : "", + "scenario" : "", + "teamA" : "", + "teamB" : "", + "limit" : "", + "isRadiant" : "", + "hero_id" : "", + "win" : "", + "item" : "", + "having" : "", + "offset" : "", + "laneRole" : "", + "resource" : "", + "match_id" : "", + "lessThanMatchId" : "", + "mmrDescending" : "", + "significant" : "", + "sort" : "", + "jobId" : "", + "q" : "", + "excludedAccountId" : "", + "account_id" : "", + "field" : "", + "mmrAscending" : "", + "page" : "", + "gameMode" : "", + "region" : "", + "withHeroId" : "", + "league_id" : "", + "againstHeroId" : "" + } +} \ No newline at end of file diff --git a/samples/client/petstore/jetbrains/http/client/.openapi-generator/FILES b/samples/client/petstore/jetbrains/http/client/.openapi-generator/FILES index 9df0ac6af97..16831018728 100644 --- a/samples/client/petstore/jetbrains/http/client/.openapi-generator/FILES +++ b/samples/client/petstore/jetbrains/http/client/.openapi-generator/FILES @@ -1,4 +1,5 @@ Apis/PetApi.http Apis/StoreApi.http Apis/UserApi.http +Apis/http-client.template.env.json README.md diff --git a/samples/client/petstore/jetbrains/http/client/Apis/PetApi.http b/samples/client/petstore/jetbrains/http/client/Apis/PetApi.http index b1490408c8d..27914d2c048 100644 --- a/samples/client/petstore/jetbrains/http/client/Apis/PetApi.http +++ b/samples/client/petstore/jetbrains/http/client/Apis/PetApi.http @@ -21,16 +21,17 @@ Accept: application/json ### Deletes a pet ## Deletes a pet DELETE http://petstore.swagger.io/v2/pet/{{petId}} +api_key: {{apiKey}} ### Finds Pets by status ## Finds Pets by status -GET http://petstore.swagger.io/v2/pet/findByStatus +GET http://petstore.swagger.io/v2/pet/findByStatus?status={{status}} Accept: application/xml Accept: application/json ### Finds Pets by tags ## Finds Pets by tags -GET http://petstore.swagger.io/v2/pet/findByTags +GET http://petstore.swagger.io/v2/pet/findByTags?tags={{tags}} Accept: application/xml Accept: application/json diff --git a/samples/client/petstore/jetbrains/http/client/Apis/UserApi.http b/samples/client/petstore/jetbrains/http/client/Apis/UserApi.http index 8cef7f35cce..d656dc0c2da 100644 --- a/samples/client/petstore/jetbrains/http/client/Apis/UserApi.http +++ b/samples/client/petstore/jetbrains/http/client/Apis/UserApi.http @@ -53,7 +53,7 @@ Accept: application/json ### Logs user into the system ## Logs user into the system -GET http://petstore.swagger.io/v2/user/login +GET http://petstore.swagger.io/v2/user/login?username={{username}}&password={{password}} Accept: application/xml Accept: application/json diff --git a/samples/client/petstore/jetbrains/http/client/Apis/http-client.template.env.json b/samples/client/petstore/jetbrains/http/client/Apis/http-client.template.env.json new file mode 100644 index 00000000000..156f88f39e0 --- /dev/null +++ b/samples/client/petstore/jetbrains/http/client/Apis/http-client.template.env.json @@ -0,0 +1,11 @@ +{ + "dev": { + "password" : "", + "petId" : "", + "api_key" : "", + "orderId" : "", + "status" : "", + "tags" : "", + "username" : "" + } +} \ No newline at end of file