{
"components" : {
"schemas" : {
"api_errors" : {
"description" : "Definition of standard errors returned by MetaCPAN API",
"properties" : {
"code" : {
"description" : "A 3 digits code representing the error.",
"maxLength" : 3,
"type" : "string"
},
"message" : {
"description" : "The error message designed for human consumption with more details about the error.",
"maxLength" : 20000,
"type" : "string"
},
"param" : {
"description" : "If the error is parameter-specific, the parameter related to the error.",
"maxLength" : 2048,
"type" : "string"
}
},
"required" : [
"code"
],
"title" : "APIErrors",
"type" : "object"
},
"author_mapping" : {
"description" : "This is the object representing the availble fields for the [author object](https://explorer.metacpan.org/?url=/author/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/profile"
}
},
"title" : "AuthorMapping",
"type" : "object"
},
"changes" : {
"description" : "This is the object representing a MetaCPAN [module changes file](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches)",
"properties" : {
"author" : {
"type" : "string"
},
"authorized" : {
"type" : "boolean"
},
"binary" : {
"type" : "boolean"
},
"category" : {
"type" : "string"
},
"content" : {
"type" : "string"
},
"date" : {
"format" : "date-time",
"type" : "string"
},
"deprecated" : {
"type" : "boolean"
},
"directory" : {
"type" : "boolean"
},
"dist_fav_count" : {
"type" : "integer"
},
"distribution" : {
"type" : "string"
},
"download_url" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"indexed" : {
"type" : "boolean"
},
"level" : {
"type" : "integer"
},
"maturity" : {
"type" : "string"
},
"mime" : {
"type" : "string"
},
"module" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"name" : {
"type" : "string"
},
"path" : {
"type" : "string"
},
"pod" : {
"type" : "string"
},
"release" : {
"type" : "string"
},
"sloc" : {
"type" : "integer"
},
"slop" : {
"type" : "integer"
},
"stat" : {
"properties" : {
"mode" : {
"type" : "integer"
},
"mtime" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
}
}
},
"status" : {
"type" : "string"
},
"version" : {
"description" : "Package version string",
"type" : "string"
},
"version_numified" : {
"format" : "float",
"type" : "number"
}
},
"title" : "Changes",
"type" : "object"
},
"contributor" : {
"description" : "This is the object representing contributors",
"properties" : {
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"pauseid" : {
"maxLength" : 2048,
"type" : "string"
},
"release_author" : {
"maxLength" : 2048,
"type" : "string"
},
"release_name" : {
"maxLength" : 2048,
"type" : "string"
}
},
"title" : "Contributor",
"type" : "object"
},
"contributor_mapping" : {
"description" : "This is the object representing the availble fields for the [contributor object](https://explorer.metacpan.org/?url=/contributor/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/contributor"
}
},
"title" : "ContributorMapping",
"type" : "object"
},
"cover" : {
"description" : "This is the object representing a MetaCPAN [module coverage](http://cpancover.com/)",
"properties" : {
"criteria" : {
"description" : "CPAN Cover results",
"properties" : {
"branch" : {
"description" : "Percentage of branch code coverage",
"type" : "number"
},
"condition" : {
"description" : "Percentage of condition code coverage",
"type" : "number"
},
"statement" : {
"description" : "Percentage of statement code coverage",
"type" : "number"
},
"subroutine" : {
"description" : "Percentage of subroutine code coverage",
"type" : "number"
},
"total" : {
"description" : "Percentage of total code coverage",
"type" : "number"
}
}
},
"distribution" : {
"description" : "Name of the distribution",
"type" : "string"
},
"release" : {
"description" : "Package name with version",
"type" : "string"
},
"url" : {
"description" : "URL for cpancover report",
"type" : "string"
},
"version" : {
"description" : "Package version string",
"type" : "string"
}
},
"title" : "Cover",
"type" : "object"
},
"diff" : {
"description" : "This is the object representing difference in multiple files between 2 releases",
"properties" : {
"diff" : {
"description" : "This property is only available when comparing 2 file IDs",
"type" : "string"
},
"source" : {
"type" : "string"
},
"statistics" : {
"items" : {
"properties" : {
"deletions" : {
"type" : "integer"
},
"diff" : {
"type" : "string"
},
"insertions" : {
"type" : "integer"
},
"source" : {
"type" : "string"
},
"target" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"target" : {
"type" : "string"
}
},
"title" : "Diff",
"type" : "object"
},
"distribution" : {
"description" : "This is the object representing a MetaCPAN [author distribution](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#distributiondistribution)",
"properties" : {
"bugs" : {
"properties" : {
"github" : {
"properties" : {
"active" : {
"type" : "integer"
},
"closed" : {
"type" : "integer"
},
"open" : {
"type" : "integer"
},
"source" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"rt" : {
"properties" : {
"<html>" : {
"type" : "number"
},
"active" : {
"type" : "integer"
},
"closed" : {
"type" : "integer"
},
"new" : {
"type" : "integer"
},
"open" : {
"type" : "integer"
},
"patched" : {
"type" : "integer"
},
"rejected" : {
"type" : "integer"
},
"resolved" : {
"type" : "integer"
},
"source" : {
"maxLength" : 2048,
"type" : "string"
},
"stalled" : {
"type" : "integer"
}
}
}
}
},
"external_package" : {
"properties" : {
"cygwin" : {
"maxLength" : 2048,
"type" : "string"
},
"debian" : {
"maxLength" : 2048,
"type" : "string"
},
"fedora" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"river" : {
"properties" : {
"bucket" : {
"type" : "integer"
},
"bus_factor" : {
"type" : "integer"
},
"immediate" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
}
}
},
"title" : "Distribution",
"type" : "object"
},
"distribution_mapping" : {
"description" : "This is the object representing the availble fields for the [distribution object](https://explorer.metacpan.org/?url=/distribution/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/distribution"
}
},
"title" : "DistributionMapping",
"type" : "object"
},
"distributions" : {
"description" : "This is the object representing a list of distributions.",
"properties" : {
"distributions" : {
"additionalProperties" : {
"properties" : {
"avg" : {
"format" : "float",
"type" : "number"
},
"count" : {
"type" : "integer"
},
"max" : {
"format" : "float",
"type" : "number"
},
"min" : {
"format" : "float",
"type" : "number"
},
"sum" : {
"format" : "float",
"type" : "number"
}
},
"type" : "object"
},
"description" : "This contains dynamic properties named after the perl distribution name, such as \"HTTP-Message\"",
"type" : "object"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Distributions",
"type" : "object"
},
"download_url" : {
"description" : "This is the object representing a MetaCPAN [distribution download URL](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#download_urlmodule)",
"properties" : {
"checksum_md5" : {
"type" : "string"
},
"checksum_sha256" : {
"type" : "string"
},
"date" : {
"description" : "An ISO 8601 datetime",
"format" : "date-time",
"type" : "string"
},
"download_url" : {
"type" : "string"
},
"release" : {
"type" : "string"
},
"status" : {
"type" : "string"
},
"version" : {
"type" : "string"
}
},
"title" : "DownloadURL",
"type" : "object"
},
"elastic_search" : {
"description" : "An Elasticsearch search request with a subset of options.",
"properties" : {
"_source" : {
"properties" : {},
"type" : "object"
},
"from" : {
"format" : "int32",
"type" : "integer"
},
"query" : {
"$ref" : "#/components/schemas/es_query_container"
},
"size" : {
"description" : "The maximum number of search results to return.",
"format" : "int32",
"type" : "integer"
},
"sort" : {
"description" : "An array of fields to sort the search results by.",
"items" : {
"properties" : {},
"type" : "object"
},
"type" : "array"
}
},
"title" : "Search",
"type" : "object"
},
"error" : {
"description" : "An error response from the MetaCPAN API",
"properties" : {
"error" : {
"$ref" : "#/components/schemas/api_errors"
}
},
"required" : [
"error"
],
"title" : "Error",
"type" : "object"
},
"es_bool_query" : {
"description" : "A query for documents that match boolean combinations of other queries.",
"properties" : {
"filter" : {
"items" : {
"$ref" : "#/components/schemas/es_query_container"
},
"type" : "array"
},
"minimum_should_match" : {
"description" : "The minimum number of optional should clauses to match.",
"format" : "int32",
"type" : "integer"
},
"must" : {
"items" : {
"$ref" : "#/components/schemas/es_query_container"
},
"type" : "array"
},
"must_not" : {
"items" : {
"$ref" : "#/components/schemas/es_query_container"
},
"type" : "array"
},
"should" : {
"items" : {
"$ref" : "#/components/schemas/es_query_container"
},
"type" : "array"
}
},
"type" : "object"
},
"es_exists_query" : {
"description" : "Matches documents that have at least one non-`null` value in the original field.",
"properties" : {
"field" : {
"description" : "The field to check for non-null values in.",
"type" : "string"
}
},
"required" : [
"field"
],
"type" : "object"
},
"es_match_all_query" : {
"description" : "A query that matches all documents.",
"type" : "object"
},
"es_match_none_query" : {
"description" : "A query that doesn't match any documents.",
"type" : "object"
},
"es_match_query" : {
"description" : "Consumes and analyzes text, numbers, and dates, then constructs a query.",
"properties" : {
"analyzer" : {
"description" : "The analyzer that will be used to perform the analysis process on the text. Defaults to the analyzer that was used to index the field.",
"type" : "string"
},
"minimum_should_match" : {
"description" : "The minimum number of optional should clauses to match.",
"format" : "int32",
"type" : "integer"
},
"operator" : {
"description" : "The operator flag can be set to or or and to control the boolean clauses (defaults to or).",
"type" : "string"
},
"query" : {
"description" : "The text/numeric/date to query for.",
"type" : "string"
}
},
"required" : [
"query"
],
"type" : "object"
},
"es_nested_query" : {
"description" : "A query that matches nested objects.",
"properties" : {
"path" : {
"description" : "The path to the nested object.",
"type" : "string"
},
"query" : {
"$ref" : "#/components/schemas/es_query_container",
"description" : "The actual query to execute on the nested objects."
},
"score_mode" : {
"description" : "Allows to specify how inner children matching affects score of the parent. Refer to the Elasticsearch documentation for details.",
"enum" : [
"avg",
"sum",
"min",
"max",
"none"
],
"type" : "string"
}
},
"required" : [
"path",
"query"
],
"type" : "object"
},
"es_prefix_query" : {
"description" : "The query that matches documents with fields that contain terms with a specified, not analyzed, prefix.",
"properties" : {
"boost" : {
"description" : "An optional boost value to apply to the query.",
"format" : "float",
"type" : "number"
},
"value" : {
"description" : "The prefix to search for.",
"type" : "string"
}
},
"required" : [
"value"
],
"type" : "object"
},
"es_query_container" : {
"description" : "The container for all of the allowed Elasticsearch queries. Specify only one property each time.",
"properties" : {
"bool" : {
"$ref" : "#/components/schemas/es_bool_query"
},
"exists" : {
"$ref" : "#/components/schemas/es_exists_query"
},
"match" : {
"additionalProperties" : {
"$ref" : "#/components/schemas/es_match_query"
},
"type" : "object"
},
"match_all" : {
"$ref" : "#/components/schemas/es_match_all_query"
},
"match_none" : {
"$ref" : "#/components/schemas/es_match_none_query"
},
"nested" : {
"$ref" : "#/components/schemas/es_nested_query"
},
"prefix" : {
"additionalProperties" : {
"$ref" : "#/components/schemas/es_prefix_query"
},
"type" : "object"
},
"query_string" : {
"$ref" : "#/components/schemas/es_query_string_query"
},
"range" : {
"additionalProperties" : {
"$ref" : "#/components/schemas/es_range_query"
},
"type" : "object"
},
"simple_query_string" : {
"$ref" : "#/components/schemas/es_simple_query_string_query"
},
"term" : {
"additionalProperties" : {
"$ref" : "#/components/schemas/es_term_query"
},
"type" : "object"
}
},
"type" : "object"
},
"es_query_string_query" : {
"description" : "A query that uses the strict query string syntax for parsing. Will return an error for invalid syntax.",
"properties" : {
"allow_leading_wildcard" : {
"description" : "When set, * or ? are allowed as the first character. Defaults to false.",
"type" : "boolean"
},
"analyzer" : {
"description" : "The analyzer used to analyze each term of the query when creating composite queries.",
"type" : "string"
},
"default_field" : {
"description" : "The default field for query terms if no prefix field is specified.",
"type" : "string"
},
"default_operator" : {
"description" : "The default operator used if no explicit operator is specified.",
"type" : "string"
},
"query" : {
"description" : "The actual query to be parsed.",
"type" : "string"
}
},
"required" : [
"query"
],
"type" : "object"
},
"es_range_query" : {
"description" : "The query that matches documents with fields that contain terms within a specified range.",
"properties" : {
"boost" : {
"description" : "An optional boost value to apply to the query.",
"format" : "float",
"type" : "number"
},
"format" : {
"description" : "Formatted dates will be parsed using the format specified on the date field by default, but it can be overridden by passing the format parameter.",
"type" : "string"
},
"gt" : {
"description" : "Greater-than",
"properties" : {},
"type" : "object"
},
"gte" : {
"description" : "Greater-than or equal to",
"properties" : {},
"type" : "object"
},
"lt" : {
"description" : "Less-than",
"properties" : {},
"type" : "object"
},
"lte" : {
"description" : "Less-than or equal to.",
"properties" : {},
"type" : "object"
},
"time_zone" : {
"description" : "Dates can be converted from another timezone to UTC either by specifying the time zone in the date value itself (if the format accepts it), or it can be specified as the time_zone parameter.",
"type" : "string"
}
},
"type" : "object"
},
"es_simple_query_string_query" : {
"description" : "A query that uses simple query string syntax. Will ignore invalid syntax.",
"properties" : {
"analyze_wildcard" : {
"description" : "If `true`, the query attempts to analyze wildcard terms. Defaults to `false`.",
"type" : "boolean"
},
"analyzer" : {
"description" : "The name of the analyzer to use to convert the query text into tokens.",
"type" : "string"
},
"auto_generate_synonyms_phrase_query" : {
"description" : "If `true`, the parse creates a `match_phrase` uery for each multi-position token. Defaults to `true`.",
"type" : "boolean"
},
"default_operator" : {
"description" : "The boolean operator used to combine the terms of the query. Valid values are `OR` (default) and `AND`.",
"type" : "string"
},
"fields" : {
"description" : "Array of fields to search",
"items" : {
"type" : "string"
},
"type" : "array"
},
"flags" : {
"description" : "List of enabled operators for the simple query string syntax. Defaults to `ALL`.",
"type" : "string"
},
"fuzzy_max_expansions" : {
"description" : "Maximum number of terms to which the query expands for fuzzy matching. Defaults to 50.",
"format" : "int32",
"type" : "integer"
},
"fuzzy_prefix_length" : {
"description" : "Number of beginning characters left unchanged for fuzzy matching. Defaults to 0.",
"format" : "int32",
"type" : "integer"
},
"fuzzy_transpositions" : {
"description" : "If `true`, edits for fuzzy matching include transpositions of two adjacent characters. Defaults to `false`.",
"type" : "boolean"
},
"lenient" : {
"description" : "If `true`, format-based errors, such as providing a text value for a numeric field are ignored. Defaults to `false`.",
"type" : "boolean"
},
"minimum_should_match" : {
"description" : "Minimum number of clauses that must match for a document to be returned.",
"type" : "string"
},
"query" : {
"description" : "The query expressed in simple query string syntax.",
"type" : "string"
},
"quote_field_suffix" : {
"description" : "Suffix appended to quoted text in the query string.",
"type" : "string"
}
},
"required" : [
"query"
],
"type" : "object"
},
"es_term_query" : {
"description" : "A query for documents that contain the specified term in the inverted index.",
"properties" : {
"value" : {
"description" : "The exact value to query for.",
"type" : "string"
}
},
"required" : [
"value"
],
"type" : "object"
},
"favorite" : {
"description" : "This is the object representing favorites",
"properties" : {
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"date" : {
"description" : "ISO8601 date format",
"format" : "date-time",
"type" : "string"
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"id" : {
"maxLength" : 2048,
"type" : "string"
},
"release" : {
"maxLength" : 2048,
"type" : "string"
},
"user" : {
"maxLength" : 2048,
"type" : "string"
}
},
"title" : "Favorite",
"type" : "object"
},
"favorite_mapping" : {
"description" : "This is the object representing the availble fields for the [favorite object](https://explorer.metacpan.org/?url=/favorite/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/favorite"
}
},
"title" : "FavoriteMapping",
"type" : "object"
},
"favorites" : {
"description" : "This is the object representing a user favorites",
"properties" : {
"favorites" : {
"items" : {
"$ref" : "#/components/schemas/favorite"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Favorites",
"type" : "object"
},
"file" : {
"description" : "This is the object representing a file",
"properties" : {
"abstract" : {
"maxLength" : 2048,
"type" : "string"
},
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"authorized" : {
"type" : "boolean"
},
"binary" : {
"type" : "boolean"
},
"date" : {
"description" : "ISO8601 date format",
"format" : "date-time",
"type" : "string"
},
"deprecated" : {
"type" : "boolean"
},
"description" : {
"maxLength" : 2048,
"type" : "string"
},
"dir" : {
"maxLength" : 2048,
"type" : "string"
},
"directory" : {
"type" : "boolean"
},
"dist_fav_count" : {
"type" : "integer"
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"documentation" : {
"maxLength" : 2048,
"type" : "string"
},
"download_url" : {
"maxLength" : 2048,
"type" : "string"
},
"id" : {
"maxLength" : 2048,
"type" : "string"
},
"indexed" : {
"type" : "boolean"
},
"level" : {
"type" : "integer"
},
"maturity" : {
"maxLength" : 2048,
"type" : "string"
},
"mime" : {
"example" : "text/x-script.perl-module",
"maxLength" : 2048,
"type" : "string"
},
"module" : {
"items" : {
"$ref" : "#/components/schemas/module"
},
"type" : "array"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"path" : {
"maxLength" : 2048,
"type" : "string"
},
"pod" : {
"type" : "string"
},
"pod_lines" : {
"maxLength" : 2048,
"type" : "string"
},
"release" : {
"maxLength" : 2048,
"type" : "string"
},
"sloc" : {
"type" : "integer"
},
"slop" : {
"type" : "integer"
},
"stat" : {
"properties" : {
"gid" : {
"type" : "number"
},
"mode" : {
"type" : "integer"
},
"mtime" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"uid" : {
"type" : "number"
}
}
},
"status" : {
"maxLength" : 2048,
"type" : "string"
},
"suggest" : {},
"version" : {
"type" : "string"
},
"version_numified" : {
"type" : "number"
}
},
"title" : "File",
"type" : "object"
},
"file_mapping" : {
"description" : "This is the object representing the availble fields for the [file object](https://explorer.metacpan.org/?url=/module/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/file"
}
},
"title" : "FileMapping",
"type" : "object"
},
"file_preview" : {
"description" : "This represents a file preview used in endpoint `/file/dir`",
"properties" : {
"directory" : {
"type" : "boolean"
},
"documentation" : {
"maxLength" : 2048,
"type" : "string"
},
"mime" : {
"example" : "text/x-script.perl-module",
"maxLength" : 2048,
"type" : "string"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"path" : {
"maxLength" : 2048,
"type" : "string"
},
"slop" : {
"type" : "integer"
},
"stat.mime" : {
"type" : "integer"
},
"stat.size" : {
"type" : "integer"
}
},
"title" : "FilePreview",
"type" : "object"
},
"file_snapshot" : {
"description" : "This is the object representing a file snapshot",
"properties" : {
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"category" : {
"type" : "string"
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"documentation" : {
"maxLength" : 2048,
"type" : "string"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"path" : {
"maxLength" : 2048,
"type" : "string"
},
"pod_lines" : {
"maxLength" : 2048,
"type" : "string"
},
"release" : {
"maxLength" : 2048,
"type" : "string"
},
"status" : {
"maxLength" : 2048,
"type" : "string"
}
},
"title" : "FileSnapshot",
"type" : "object"
},
"files" : {
"description" : "This is the object representing a list of files",
"properties" : {
"files" : {
"items" : {
"$ref" : "#/components/schemas/file"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Files",
"type" : "object"
},
"files_categories" : {
"description" : "This is the object representing a list of files by categories",
"properties" : {
"categories" : {
"properties" : {
"changelog" : {
"items" : {
"$ref" : "#/components/schemas/file_snapshot"
},
"type" : "array"
},
"contributing" : {
"items" : {
"$ref" : "#/components/schemas/file_snapshot"
},
"type" : "array"
},
"dist" : {
"items" : {
"$ref" : "#/components/schemas/file_snapshot"
},
"type" : "array"
},
"license" : {
"items" : {
"$ref" : "#/components/schemas/file_snapshot"
},
"type" : "array"
},
"other" : {
"items" : {
"$ref" : "#/components/schemas/file_snapshot"
},
"type" : "array"
}
},
"type" : "object"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "FilesCategories",
"type" : "object"
},
"files_interesting" : {
"description" : "This is the object representing a list of files",
"properties" : {
"files" : {
"items" : {
"$ref" : "#/components/schemas/file_snapshot"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "FilesInteresting",
"type" : "object"
},
"metadata" : {
"properties" : {
"abstract" : {
"maxLength" : 2048,
"type" : "string"
},
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"dynamic_config" : {
"type" : "boolean"
},
"generated_by" : {
"maxLength" : 2048,
"type" : "string"
},
"license" : {
"maxLength" : 2048,
"type" : "string"
},
"meta_spec" : {
"properties" : {
"url" : {
"maxLength" : 2048,
"type" : "string"
},
"version" : {
"type" : "integer"
}
}
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"no_index" : {
"properties" : {
"directory" : {
"maxLength" : 2048,
"type" : "string"
},
"package" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"prereqs" : {
"properties" : {
"build" : {
"properties" : {
"requires" : {
"additionalProperties" : {
"description" : "Key-value pairs of module names with their version number",
"type" : "string"
}
}
}
},
"configure" : {
"properties" : {
"requires" : {
"additionalProperties" : {
"description" : "Key-value pairs of module names with their version number",
"type" : "string"
}
}
}
},
"runtime" : {
"properties" : {
"requires" : {
"additionalProperties" : {
"description" : "Key-value pairs of module names with their version number",
"type" : "string"
}
}
}
},
"test" : {
"properties" : {
"requires" : {
"additionalProperties" : {
"description" : "Key-value pairs of module names with their version number",
"type" : "string"
}
}
}
}
}
},
"release_status" : {
"maxLength" : 2048,
"type" : "string"
},
"resources" : {
"properties" : {
"bugtracker" : {
"properties" : {
"type" : {
"maxLength" : 2048,
"type" : "string"
},
"web" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"homepage" : {
"type" : "string"
},
"license" : {
"type" : "string"
},
"repository" : {
"properties" : {
"type" : {
"maxLength" : 2048,
"type" : "string"
},
"web" : {
"maxLength" : 2048,
"type" : "string"
}
}
}
},
"type" : "object"
},
"version" : {
"type" : "string"
}
},
"title" : "Metadata",
"type" : "object"
},
"mirror" : {
"description" : "This is the object representing a mirror",
"properties" : {
"A_or_CNAME" : {
"type" : "string"
},
"aka_name" : {
"type" : "string"
},
"ccode" : {
"description" : "A 2-characters ISO 3166 country code",
"maxLength" : 2,
"type" : "string"
},
"city" : {
"type" : "string"
},
"contact" : {
"items" : {
"properties" : {
"contact_site" : {
"type" : "string"
},
"contact_user" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"continent" : {
"type" : "string"
},
"country" : {
"type" : "string"
},
"distance" : {
"type" : "string"
},
"dnsrr" : {
"type" : "string"
},
"freq" : {
"type" : "string"
},
"ftp" : {
"type" : "string"
},
"http" : {
"type" : "string"
},
"inceptdate" : {
"format" : "date-time",
"type" : "string"
},
"location" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"name" : {
"type" : "string"
},
"note" : {
"type" : "string"
},
"org" : {
"type" : "string"
},
"region" : {
"type" : "string"
},
"reitredate" : {
"format" : "date-time",
"type" : "string"
},
"rsync" : {
"type" : "string"
},
"src" : {
"type" : "string"
},
"tz" : {
"type" : "string"
}
},
"title" : "Mirror",
"type" : "object"
},
"mirrors" : {
"description" : "This is the object representing a list of mirrors",
"properties" : {
"mirrors" : {
"items" : {
"$ref" : "#/components/schemas/mirror"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Mirrors",
"type" : "object"
},
"module" : {
"description" : "This is the object representing a module",
"properties" : {
"abstract" : {
"maxLength" : 2048,
"type" : "string"
},
"associated_pod" : {
"type" : "string"
},
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"authorized" : {
"type" : "boolean"
},
"binary" : {
"type" : "boolean"
},
"date" : {
"description" : "ISO8601 date format",
"format" : "date-time",
"type" : "string"
},
"deprecated" : {
"type" : "boolean"
},
"description" : {
"maxLength" : 2048,
"type" : "string"
},
"dir" : {
"maxLength" : 2048,
"type" : "string"
},
"directory" : {
"type" : "boolean"
},
"dist_fav_count" : {
"type" : "integer"
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"documentation" : {
"maxLength" : 2048,
"type" : "string"
},
"download_url" : {
"maxLength" : 2048,
"type" : "string"
},
"id" : {
"maxLength" : 2048,
"type" : "string"
},
"indexed" : {
"type" : "boolean"
},
"level" : {
"type" : "integer"
},
"maturity" : {
"maxLength" : 2048,
"type" : "string"
},
"mime" : {
"maxLength" : 2048,
"type" : "string"
},
"module" : {
"$ref" : "#/components/schemas/module"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"path" : {
"maxLength" : 2048,
"type" : "string"
},
"pod" : {
"type" : "string"
},
"pod_lines" : {
"maxLength" : 2048,
"type" : "string"
},
"release" : {
"maxLength" : 2048,
"type" : "string"
},
"sloc" : {
"type" : "integer"
},
"slop" : {
"type" : "integer"
},
"stat" : {
"properties" : {
"gid" : {
"type" : "number"
},
"mode" : {
"type" : "integer"
},
"mtime" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"uid" : {
"type" : "number"
}
}
},
"status" : {
"maxLength" : 2048,
"type" : "string"
},
"suggest" : {},
"version" : {
"maxLength" : 2048,
"type" : "string"
},
"version_numified" : {
"type" : "number"
}
},
"title" : "Module",
"type" : "object"
},
"module_mapping" : {
"description" : "This is the object representing the availble fields for the [module object](https://explorer.metacpan.org/?url=/module/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/module"
}
},
"title" : "ModuleMapping",
"type" : "object"
},
"package" : {
"description" : "This is the object representing a MetaCPAN [module package](https://github.com/metacpan/metacpan-api/blob/master/lib/MetaCPAN/Document/Package.pm)",
"properties" : {
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"dist_version" : {
"maxLength" : 2048,
"type" : "string"
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"file" : {
"maxLength" : 2048,
"type" : "string"
},
"module_name" : {
"maxLength" : 2048,
"type" : "string"
},
"version" : {
"maxLength" : 2048,
"type" : "string"
}
},
"title" : "Package",
"type" : "object"
},
"permission" : {
"description" : "This is the object representing a MetaCPAN [module permission](https://github.com/metacpan/metacpan-api/blob/master/lib/MetaCPAN/Document/Permission.pm)",
"properties" : {
"co_maintainers" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"module_name" : {
"maxLength" : 2048,
"type" : "string"
},
"owner" : {
"maxLength" : 2048,
"type" : "string"
}
},
"title" : "Permission",
"type" : "object"
},
"permissions" : {
"description" : "This is the object representing a user permissions",
"properties" : {
"permissions" : {
"items" : {
"properties" : {
"co_maintainers" : {
"items" : {
"description" : "List of co-maintainer's pause ID",
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"module_name" : {
"example" : "Bundle::DBI",
"maxLength" : 2048,
"type" : "string"
},
"owner" : {
"description" : "This is the owner's pause ID",
"example" : "TIMB",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Permissions",
"type" : "object"
},
"profile" : {
"description" : "This is the object representing a MetaCPAN [author profile](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#authorauthor)",
"properties" : {
"asciiname" : {
"maxLength" : 2048,
"type" : "string"
},
"blog" : {
"properties" : {
"feed" : {
"maxLength" : 2048,
"type" : "string"
},
"url" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"city" : {
"maxLength" : 2048,
"type" : "string"
},
"country" : {
"maxLength" : 2048,
"type" : "string"
},
"donation" : {
"items" : {
"anyOf" : [
{
"properties" : {
"id" : {
"maxLength" : 2048,
"type" : "string"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
}
}
}
]
},
"type" : "array"
},
"email" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"gravatar_url" : {
"maxLength" : 2048,
"type" : "string"
},
"is_pause_custodial_account" : {
"type" : "boolean"
},
"links" : {
"description" : "An hash of key-URI pairs",
"properties" : {
"backpan_directory" : {
"type" : "string"
},
"cpan_directory" : {
"type" : "string"
},
"cpantesters_matrix" : {
"type" : "string"
},
"cpantesters_reports" : {
"type" : "string"
},
"cpants" : {
"type" : "string"
},
"metacpan_explorer" : {
"type" : "string"
},
"repology" : {
"type" : "string"
}
}
},
"location" : {
"items" : {
"format" : "float",
"type" : "number"
},
"type" : "array"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"pauseid" : {
"maxLength" : 2048,
"type" : "string"
},
"perlmongers" : {
"properties" : {
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"url" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"profile" : {
"items" : {
"properties" : {
"id" : {
"maxLength" : 2048,
"type" : "string"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"region" : {
"maxLength" : 2048,
"type" : "string"
},
"release_count" : {
"properties" : {
"backpan-only" : {
"type" : "integer"
},
"cpan" : {
"type" : "integer"
},
"latest" : {
"type" : "integer"
}
}
},
"updated" : {
"format" : "date-time",
"type" : "string"
},
"user" : {
"maxLength" : 2048,
"type" : "string"
},
"website" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
}
},
"title" : "Profile",
"type" : "object"
},
"rating" : {
"description" : "This is the object representing a rating)",
"properties" : {
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"date" : {
"description" : "ISO8601 datetime",
"format" : "date-time",
"type" : "string"
},
"details" : {
"properties" : {
"description" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"helpful" : {
"items" : {
"properties" : {
"user" : {
"maxLength" : 2048,
"type" : "string"
},
"value" : {
"type" : "boolean"
}
},
"type" : "object"
},
"type" : "array"
},
"rating" : {
"type" : "number"
},
"release" : {
"maxLength" : 2048,
"type" : "string"
},
"user" : {
"maxLength" : 2048,
"type" : "string"
}
},
"title" : "Rating",
"type" : "object"
},
"rating_mapping" : {
"description" : "This is the object representing the availble fields for the [rating object](https://explorer.metacpan.org/?url=/rating/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/rating"
}
},
"title" : "RatingMapping",
"type" : "object"
},
"release" : {
"description" : "This is the object representing a release)",
"properties" : {
"abstract" : {
"maxLength" : 2048,
"type" : "string"
},
"archive" : {
"maxLength" : 2048,
"type" : "string"
},
"author" : {
"maxLength" : 2048,
"type" : "string"
},
"authorized" : {
"type" : "boolean"
},
"changes_file" : {
"maxLength" : 2048,
"type" : "string"
},
"checksum_md5" : {
"maxLength" : 2048,
"type" : "string"
},
"checksum_sha256" : {
"maxLength" : 2048,
"type" : "string"
},
"date" : {
"description" : "ISO8601 datetime",
"format" : "date-time",
"type" : "string"
},
"dependency" : {
"items" : {
"properties" : {
"module" : {
"maxLength" : 2048,
"type" : "string"
},
"phase" : {
"maxLength" : 2048,
"type" : "string"
},
"relationship" : {
"maxLength" : 2048,
"type" : "string"
},
"version" : {
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"deprecated" : {
"type" : "boolean"
},
"distribution" : {
"maxLength" : 2048,
"type" : "string"
},
"download_url" : {
"maxLength" : 2048,
"type" : "string"
},
"first" : {
"type" : "boolean"
},
"id" : {
"maxLength" : 2048,
"type" : "string"
},
"license" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"main_module" : {
"maxLength" : 2048,
"type" : "string"
},
"maturity" : {
"maxLength" : 2048,
"type" : "string"
},
"metadata" : {
"$ref" : "#/components/schemas/metadata"
},
"name" : {
"maxLength" : 2048,
"type" : "string"
},
"provides" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"resources" : {
"properties" : {
"bugtracker" : {
"properties" : {
"mailto" : {
"maxLength" : 2048,
"type" : "string"
},
"web" : {
"maxLength" : 2048,
"type" : "string"
}
}
},
"homepage" : {
"maxLength" : 2048,
"type" : "string"
},
"license" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"repository" : {
"properties" : {
"type" : {
"maxLength" : 2048,
"type" : "string"
},
"url" : {
"maxLength" : 2048,
"type" : "string"
},
"web" : {
"maxLength" : 2048,
"type" : "string"
}
}
}
}
},
"stat" : {
"properties" : {
"gid" : {
"type" : "number"
},
"mode" : {
"type" : "integer"
},
"mtime" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"uid" : {
"type" : "number"
}
}
},
"status" : {
"maxLength" : 2048,
"type" : "string"
},
"tests" : {
"properties" : {
"fail" : {
"type" : "integer"
},
"na" : {
"type" : "integer"
},
"pass" : {
"type" : "integer"
},
"unknown" : {
"type" : "integer"
}
}
},
"version" : {
"maxLength" : 2048,
"type" : "string"
},
"version_numified" : {
"type" : "number"
}
},
"title" : "Release",
"type" : "object"
},
"release_mapping" : {
"description" : "This is the object representing the availble fields for the [release object](https://explorer.metacpan.org/?url=/release/_mapping).",
"properties" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
},
"title" : "ReleaseMapping",
"type" : "object"
},
"release_recents" : {
"description" : "This is the object representing a list of recent releases",
"properties" : {
"releases" : {
"items" : {
"properties" : {
"abstract" : {
"type" : "string"
},
"author" : {
"type" : "string"
},
"date" : {
"format" : "date-time",
"type" : "string"
},
"distribution" : {
"type" : "string"
},
"maturity" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"status" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "ReleaseRecents",
"type" : "object"
},
"releases" : {
"description" : "This is the object representing a list of releases",
"properties" : {
"releases" : {
"items" : {
"$ref" : "#/components/schemas/release"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Releases",
"type" : "object"
},
"result_set" : {
"description" : "This is the object representing a search result set)",
"properties" : {
"_shards" : {
"properties" : {
"failed" : {
"type" : "integer"
},
"successful" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
}
},
"hits" : {
"properties" : {
"hits" : {
"items" : {
"properties" : {
"_id" : {
"type" : "string"
},
"_index" : {
"description" : "For example: cpan_v1_01",
"type" : "string"
},
"_score" : {
"type" : "number"
},
"_source" : {
"oneOf" : [
{
"$ref" : "#/components/schemas/profile"
},
{
"$ref" : "#/components/schemas/distribution"
},
{
"$ref" : "#/components/schemas/favorite"
},
{
"$ref" : "#/components/schemas/file"
},
{
"$ref" : "#/components/schemas/rating"
},
{
"$ref" : "#/components/schemas/release"
}
]
},
"_type" : {
"enum" : [
"author",
"distribution",
"favorite",
"file",
"rating",
"release"
],
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"max_score" : {
"type" : "number"
},
"total" : {
"type" : "integer"
}
}
},
"timed_out" : {
"type" : "boolean"
},
"took" : {
"type" : "integer"
}
},
"title" : "ResultSet",
"type" : "object"
},
"result_web_set" : {
"description" : "This is the object representing a web search result set)",
"properties" : {
"collapsed" : {
"type" : "boolean"
},
"results" : {
"items" : {
"properties" : {
"distribution" : {
"type" : "string"
},
"hits" : {
"items" : {
"abstract" : {
"type" : "string"
},
"author" : {
"type" : "string"
},
"authorized" : {
"type" : "boolean"
},
"date" : {
"type" : "datetime"
},
"description" : {
"type" : "string"
},
"distribution" : {
"type" : "string"
},
"documentation" : {
"type" : "string"
},
"favorites" : {
"type" : "integer"
},
"id" : {
"type" : "string"
},
"index" : {
"type" : "boolean"
},
"path" : {
"type" : "string"
},
"pod_lines" : {
"items" : {
"type" : "integer"
},
"type" : "array"
},
"release" : {
"type" : "string"
},
"score" : {
"type" : "float"
},
"status" : {
"type" : "string"
}
},
"type" : "array"
},
"total" : {
"type" : "integer"
}
}
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
}
},
"reverse_dependencies" : {
"description" : "This is the object representing a reverse dependencies result set)",
"properties" : {
"data" : {
"items" : {
"$ref" : "#/components/schemas/release"
},
"type" : "array"
},
"timed_out" : {
"type" : "boolean"
},
"took" : {
"type" : "integer"
}
},
"title" : "ReverseDependencies",
"type" : "object"
},
"river" : {
"description" : "This is the object representing a distribution river)",
"example" : "/v1/distribution/river/HTTP-Message",
"properties" : {
"river" : {
"properties" : {
"module" : {
"example" : "HTTP-Message",
"properties" : {
"bucket" : {
"type" : "integer"
},
"bus_factor" : {
"type" : "integer"
},
"immediate" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
},
"type" : "object"
}
},
"title" : "River",
"type" : "object"
},
"scroll" : {
"description" : "This is the object representing a scroll search follow-on query)",
"properties" : {
"scroll" : {
"description" : "Specifies the [scroll query time to live](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"type" : "string"
},
"scroll_id" : {
"description" : "Specifies the [search scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"type" : "string"
},
"size" : {
"description" : "Specifies the [scroll page size](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"type" : "integer"
}
},
"required" : [
"scroll",
"scroll_id"
],
"title" : "Scroll search",
"type" : "object"
},
"scroll_result_set" : {
"allOf" : [
{
"$ref" : "#/components/schemas/result_set"
},
{
"properties" : {
"_scroll_id" : {
"type" : "string"
}
},
"type" : "object"
}
],
"description" : "This is the object representing a scroll search result set)",
"title" : "ResultSet"
}
}
},
"info" : {
"contact" : {
"email" : "admin@metacpan.org",
"name" : "CPAN Administrators",
"url" : "https://metacpan.org"
},
"description" : "The MetaCPAN REST API. Please see https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md for more details.",
"termsOfService" : "https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#being-polite",
"title" : "MetaCPAN API",
"version" : "2023-07-27"
},
"openapi" : "3.0.0",
"paths" : {
"/v1/activity" : {
"get" : {
"description" : "Retrieves the release activity for the last 24 months",
"example" : "curl https://fastapi.metacpan.org/v1/activity?author=OALDERS&res=1M",
"operationId" : "GetActivity",
"parameters" : [
{
"description" : "An optional author ID",
"example" : "OALDERS",
"in" : "query",
"name" : "author",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "An optional distribution name",
"example" : "HTTP-Message",
"in" : "query",
"name" : "distribution",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "An optional module used as a dependency.",
"example" : "HTTP::Message",
"in" : "query",
"name" : "module",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "To show only new distributions",
"example" : "n",
"in" : "query",
"name" : "new_dists",
"required" : false,
"schema" : {
"enum" : [
"n"
],
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The aggregation interval. See [ElasticSearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/query-dsl-range-query.html#_date_format_in_range_queries)",
"example" : "1M",
"in" : "query",
"name" : "res",
"required" : false,
"schema" : {
"enum" : [
"n"
],
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"activity" : {
"items" : {
"type" : "integer"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the release activity for the last 24 months",
"example" : "curl https://fastapi.metacpan.org/v1/activity?author=OALDERS&res=1M",
"operationId" : "PostActivity",
"parameters" : [
{
"description" : "An optional author ID",
"example" : "OALDERS",
"in" : "query",
"name" : "author",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "An optional distribution name",
"example" : "HTTP-Message",
"in" : "query",
"name" : "distribution",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "An optional module used as a dependency.",
"example" : "HTTP::Message",
"in" : "query",
"name" : "module",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "To show only new distributions",
"example" : "n",
"in" : "query",
"name" : "new_dists",
"required" : false,
"schema" : {
"enum" : [
"n"
],
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The aggregation interval. See [ElasticSearch documentation](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/query-dsl-range-query.html#_date_format_in_range_queries)",
"example" : "1M",
"in" : "query",
"name" : "res",
"required" : false,
"schema" : {
"enum" : [
"n"
],
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"description" : "Although the `POST` method is supported, the API does not recognise JSON payload, but only query string.",
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"activity" : {
"items" : {
"type" : "integer"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author" : {
"get" : {
"description" : "Retrieves authors information details using a simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/author?q=OALDERS",
"operationId" : "GetAuthor",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves authors information details using a simple search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author -H 'Content-Type: application/json; charset=utf-8' --data-binary \\@- <<EOT\n{\n \"query\": { \"filtered\": {\n \"query\": { \"match_all\":{} },\n \"filter\": {\n \"and\": [\n { \"term\": { \"pauseid\": \"OALDERS\" } }\n ]\n }\n }}\n}\nEOT",
"operationId" : "PostAuthor",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [author object](https://explorer.metacpan.org/?url=/author/_mapping).",
"example" : "curl https://fastapi.metacpan.org/v1/author/_mapping",
"operationId" : "GetAuthorMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/author_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [author object](https://explorer.metacpan.org/?url=/author/_mapping).",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/_mapping",
"operationId" : "PostAuthorMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/author_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/_search" : {
"get" : {
"description" : "Returns the result set for the author search.",
"example" : "curl https://fastapi.metacpan.org/v1/author/_search?from=10&q=Tokyo&size=10",
"operationId" : "GetAuthorSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the offset from which to return results.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the author search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"query\" : {\n \"filtered\" : {\n \"filter\" : {\n \"and\" : [\n {\n \"term\" : {\n \"city\" : \"Tokyo\"\n }\n }\n ]\n },\n \"query\" : {\n \"match_all\" : {}\n }\n }\n }\n}\nEOT",
"operationId" : "PostAuthorSearch",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteAuthorSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the author search.",
"operationId" : "GetAuthorSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the author search.",
"operationId" : "PostAuthorSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/by_ids" : {
"get" : {
"description" : "Retrieves author information details for the specified pause IDs.",
"example" : "curl https://fastapi.metacpan.org/v1/author/by_ids?id=OALDERS&id=JDEGUEST",
"operationId" : "GetAuthorByPauseID",
"parameters" : [
{
"in" : "query",
"name" : "id",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves author information details for the specified pause IDs.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/by_ids -H 'Content-Type: application/json; charset=utf-8' -d '{\"id\" : [\"OALDERS\", \"JDEGUEST\"]}'",
"operationId" : "PostAuthorByPauseID",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"description" : "Specifies which fields in the response should be provided.",
"maxLength" : 2048,
"type" : "string"
},
"id" : {
"maxLength" : 2048,
"type" : "string"
}
},
"required" : [
"id"
],
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/by_prefix/{prefix}" : {
"get" : {
"description" : "Retrieves authors information details using the initial characters of their pause ID.",
"example" : "curl https://fastapi.metacpan.org/v1/author/by_prefix/OAL",
"operationId" : "GetAuthorByPrefix",
"parameters" : [
{
"in" : "path",
"name" : "prefix",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies from which offset to return the results.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the maximum size of the results.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves authors information details using the initial characters of their pause ID.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/by_prefix/O?from=40&size=20'",
"operationId" : "PostAuthorByPrefix",
"parameters" : [
{
"in" : "path",
"name" : "prefix",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies from which offset to return the results.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the maximum size of the results.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/by_user" : {
"get" : {
"description" : "Retrieves authors information details using their user ID.",
"example" : "curl https://fastapi.metacpan.org/v1/author/by_user?user=oa-cmsLWTTOALauLxve1LA&user=2n2yGvQ4QxenVpSzkkTitQ",
"operationId" : "GetAuthorByUserIDQuery",
"parameters" : [
{
"in" : "query",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves authors information details using their user ID.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/by_user -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"user\" : [\n \"oa-cmsLWTTOALauLxve1LA\",\n \"2n2yGvQ4QxenVpSzkkTitQ\"\n ]\n}\nEOT",
"operationId" : "PostAuthorByUserIDQuery",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"description" : "Specifies which fields in the response should be provided.",
"maxLength" : 2048,
"type" : "string"
},
"user" : {
"description" : "This is the user id, which is different from the PAUSEID",
"maxLength" : 2048,
"type" : "string"
}
},
"required" : [
"user"
],
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/by_user/{user}" : {
"get" : {
"description" : "Retrieves a author information details using his or her user ID.",
"example" : "curl https://fastapi.metacpan.org/v1/author/by_user/FepgBJBZQ8u92eG_TcyIGQ",
"operationId" : "GetAuthorByUserID",
"parameters" : [
{
"description" : "This is the user id, which is different from the PAUSEID",
"in" : "path",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a author information details using his or her user ID.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/by_user/FepgBJBZQ8u92eG_TcyIGQ",
"operationId" : "PostAuthorByUserID",
"parameters" : [
{
"description" : "This is the user id, which is different from the PAUSEID",
"in" : "path",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/author/{author}" : {
"get" : {
"description" : "Retrieves an author information details.",
"example" : "curl https://fastapi.metacpan.org/v1/author/OALDERS?join=release",
"operationId" : "GetAuthorProfile",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/profile"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves an author information details.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/author/OALDERS",
"operationId" : "PostAuthorProfile",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result. Even for the POST method, a query string is required.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/profile"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/changes/by_releases" : {
"get" : {
"description" : "Retrieves one or more distribution Changes file details using author and release information.",
"example" : "curl https://fastapi.metacpan.org/v1/changes/by_releases?release=OALDERS%2FHTTP-Message-6.37&release=JDEGUEST%2FModule-Generic-v0.30.1",
"operationId" : "GetChangesFileByRelease",
"parameters" : [
{
"description" : "One or more releases information.",
"in" : "query",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"changes" : {
"items" : {
"properties" : {
"author" : {
"description" : "This is CPAN Pause ID.",
"example" : "JOHNDOE",
"type" : "string"
},
"changes_file" : {
"description" : "This is the change file name, such as Changes or CHANGES.",
"type" : "string"
},
"changes_text" : {
"description" : "This contaisn the content of the release change file.",
"type" : "string"
},
"release" : {
"example" : "Foo-Bar-1.2345",
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves one or more distribution Changes file details using author and release information.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/changes/by_releases -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"release\" : [\n \"OALDERS/HTTP-Message-6.37\",\n \"JDEGUEST/Module-Generic-v0.30.1\"\n ]\n}\nEOT",
"operationId" : "PostChangesFileByRelease",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"release" : {
"description" : "One mor more releases information",
"example" : "{\"release\":\"OALDERS/HTTP-Message-6.37\"} or {\"release\":[\"OALDERS/HTTP-Message-6.37\",\"Module-Generic-v0.30.1\"]}",
"maxLength" : 2048,
"type" : "string"
}
},
"required" : [
"release"
],
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"changes" : {
"items" : {
"properties" : {
"author" : {
"description" : "This is CPAN Pause ID.",
"example" : "JOHNDOE",
"type" : "string"
},
"changes_file" : {
"description" : "This is the change file name, such as Changes or CHANGES.",
"type" : "string"
},
"changes_text" : {
"description" : "This contaisn the content of the release change file.",
"type" : "string"
},
"release" : {
"example" : "Foo-Bar-1.2345",
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/changes/{author}/{release}" : {
"get" : {
"description" : "Retrieves a Changes file details based on the specified release.",
"example" : "curl https://fastapi.metacpan.org/v1/changes/OALDERS/HTTP-Message-6.36",
"operationId" : "GetChangesFileAuthor",
"parameters" : [
{
"example" : "JDEGUEST",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"example" : "Nice-Try-v1.3.4",
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/changes"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a Changes file details based on the specified release.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/changes/OALDERS/HTTP-Message-6.36",
"operationId" : "PostChangesFileAuthor",
"parameters" : [
{
"example" : "JDEGUEST",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"example" : "Nice-Try-v1.3.4",
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/changes"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/changes/{distribution}" : {
"get" : {
"description" : "Retrieves a Changes file details based on the latest release of the specified distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/changes/HTTP-Message",
"operationId" : "GetChangesFile",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/changes"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a Changes file details based on the latest release of the specified distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/changes/HTTP-Message",
"operationId" : "PostChangesFile",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/changes"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/contributor/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [contributor object](https://explorer.metacpan.org/?url=/contributor/_mapping).",
"example" : "curl https://fastapi.metacpan.org/v1/contributor/_mapping",
"operationId" : "GetContributorMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/contributor_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [contributor object](https://explorer.metacpan.org/?url=/contributor/_mapping).",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/contributor/_mapping",
"operationId" : "PostContributorMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/contributor_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/contributor/by_pauseid/{author}" : {
"get" : {
"description" : "Retrieves a list of module contributed to by the specified Pause ID.",
"example" : "curl https://fastapi.metacpan.org/v1/contributor/by_pauseid/OALDERS",
"operationId" : "GetModuleContributedByPauseID",
"parameters" : [
{
"description" : "The author or Pause ID is an all uppercase ID, such as OALDERS",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"contributors" : {
"items" : {
"properties" : {
"distribution" : {
"type" : "string"
},
"pauseid" : {
"type" : "string"
},
"release_author" : {
"type" : "string"
},
"release_name" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a list of module contributed to by the specified Pause ID.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/contributor/by_pauseid/OALDERS",
"operationId" : "PostModuleContributedByPauseID",
"parameters" : [
{
"description" : "The author or Pause ID is an all uppercase ID, such as OALDERS",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"contributors" : {
"items" : {
"properties" : {
"distribution" : {
"type" : "string"
},
"pauseid" : {
"type" : "string"
},
"release_author" : {
"type" : "string"
},
"release_name" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/contributor/{author}/{release}" : {
"get" : {
"description" : "Retrieves a list of release contributors details.",
"example" : "curl https://fastapi.metacpan.org/v1/contributor/OALDERS/HTTP-Message-6.37",
"operationId" : "GetModuleContributors",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"contributors" : {
"items" : {
"properties" : {
"distribution" : {
"type" : "string"
},
"pauseid" : {
"type" : "string"
},
"release_author" : {
"type" : "string"
},
"release_name" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a list of release contributors details.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/contributor/OALDERS/HTTP-Message-6.37",
"operationId" : "PostModuleContributors",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"contributors" : {
"items" : {
"properties" : {
"distribution" : {
"type" : "string"
},
"pauseid" : {
"type" : "string"
},
"release_author" : {
"type" : "string"
},
"release_name" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/cover/{release}" : {
"get" : {
"description" : "Retrieves a module cover details.",
"example" : "curl https://fastapi.metacpan.org/v1/cover/HTTP-Message-6.37",
"operationId" : "GetModuleCover",
"parameters" : [
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/cover"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a module cover details.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/cover/HTTP-Message-6.37",
"operationId" : "PostModuleCover",
"parameters" : [
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/cover"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/cve" : {
"get" : {
"description" : "Retrieves CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl https://fastapi.metacpan.org/v1/cve",
"operationId" : "GetCVE",
"parameters" : [
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/cve",
"operationId" : "PostCVE",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"description" : "Specifies which fields in the response should be provided.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/cve/dist/{distribution}" : {
"get" : {
"description" : "Retrieves Distribution CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl https://fastapi.metacpan.org/v1/cve/dist/HTTP-Message",
"operationId" : "GetCVEByDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies the release version.",
"in" : "query",
"name" : "version",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : true,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves Distribution CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/cve/dist/HTTP-Message",
"operationId" : "PostCVEByDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : true,
"properties" : {
"fields" : {
"description" : "Specifies which fields in the response should be provided.",
"maxLength" : 2048,
"type" : "string"
},
"version" : {
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/cve/release/{author}/{release}" : {
"get" : {
"description" : "Retrieves Release CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl https://fastapi.metacpan.org/v1/cve/release/OALDERS/HTTP-Message-6.36",
"operationId" : "GetCVEByAuthorRelease",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves Release CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/cve/release/OALDERS/HTTP-Message-6.36",
"operationId" : "PostCVEByAuthorRelease",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"description" : "Specifies which fields in the response should be provided.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/cve/{cpanid}" : {
"get" : {
"description" : "Retrieves CPAN ID CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl https://fastapi.metacpan.org/v1/cve/OALDERS",
"operationId" : "GetCVEByCpanID",
"parameters" : [
{
"in" : "path",
"name" : "cpanid",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves CPAN ID CVE (Common Vulnerabilities & Exposures) information details. See [the source information](https://hackeriet.github.io/cpansa-feed/cpansa.json)",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/cve/OALDERS",
"operationId" : "PostCVEByCpanID",
"parameters" : [
{
"in" : "path",
"name" : "cpanid",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"description" : "Specifies which fields in the response should be provided.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/diff/file/{file1}/{file2}" : {
"get" : {
"description" : "Retrieves a diff of two files.",
"example" : "curl https://fastapi.metacpan.org/v1/diff/file/AcREzFgg3ExIrFTURa0QJfn8nto/Ies7Ysw0GjCxUU6Wj_WzI9s8ysU",
"operationId" : "Get2FilesDiff",
"parameters" : [
{
"in" : "path",
"name" : "file1",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "file2",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "This influences the output rendered by the API. You can also use the `HTTP` headers `Accept` or `Content-Type`.",
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"enum" : [
"application/json",
"text/plain"
],
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/diff"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a diff of two files.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/diff/file/AcREzFgg3ExIrFTURa0QJfn8nto/Ies7Ysw0GjCxUU6Wj_WzI9s8ysU",
"operationId" : "Post2FilesDiff",
"parameters" : [
{
"in" : "path",
"name" : "file1",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "file2",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "This influences the output rendered by the API. You can also use the `HTTP` headers `Accept` or `Content-Type`.",
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"enum" : [
"application/json",
"text/plain"
],
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/diff"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/diff/release/{author1}/{release1}/{author2}/{release2}" : {
"get" : {
"description" : "Retrieves a diff of two releases.",
"example" : "curl https://fastapi.metacpan.org/v1/diff/release/OALDERS/HTTP-Message-6.35/OALDERS/HTTP-Message-6.36",
"operationId" : "Get2ReleasesDiff",
"parameters" : [
{
"in" : "path",
"name" : "author1",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release1",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "author2",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release2",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "This influences the output rendered by the API. You can also use the `HTTP` headers `Accept` or `Content-Type`.",
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"enum" : [
"application/json",
"text/plain"
],
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/diff"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a diff of two releases.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/diff/release/OALDERS/HTTP-Message-6.35/OALDERS/HTTP-Message-6.36",
"operationId" : "Post2ReleasesDiff",
"parameters" : [
{
"in" : "path",
"name" : "author1",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release1",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "author2",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release2",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "This influences the output rendered by the API. You can also use the `HTTP` headers `Accept` or `Content-Type`.",
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"enum" : [
"application/json",
"text/plain"
],
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/diff"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/diff/release/{distribution}" : {
"get" : {
"description" : "Retrieves a diff of the latest release and its previous version.",
"example" : "curl https://fastapi.metacpan.org/v1/diff/release/HTTP-Message",
"operationId" : "GetReleaseDiff",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "This influences the output rendered by the API. You can also use the `HTTP` headers `Accept` or `Content-Type`.",
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"enum" : [
"application/json",
"text/plain"
],
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/diff"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a diff of the latest release and its previous version.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/diff/release/HTTP-Message",
"operationId" : "PostReleaseDiff",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "This influences the output rendered by the API. You can also use the `HTTP` headers `Accept` or `Content-Type`.",
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"enum" : [
"application/json",
"text/plain"
],
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/diff"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution" : {
"get" : {
"description" : "Retrieves distributions information details.",
"example" : "curl https://fastapi.metacpan.org/v1/distribution?from=10&q=HTTP&size=10",
"operationId" : "GetDistribution",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves distributions information details.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/distribution -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"query\" : {\n \"regexp\" : {\n \"name\" : \"HTTP.*\"\n }\n }\n}\nEOT",
"operationId" : "PostDistribution",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [distribution object](https://explorer.metacpan.org/?url=/distribution/_mapping).",
"example" : "curl https://fastapi.metacpan.org/v1/distribution/_mapping",
"operationId" : "GetDistributionMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/distribution_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [distribution object](https://explorer.metacpan.org/?url=/distribution/_mapping).",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/distribution/_mapping",
"operationId" : "PostDistributionMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/distribution_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution/_search" : {
"get" : {
"description" : "Returns the result set for the distribution search.",
"example" : "curl https://fastapi.metacpan.org/v1/distribution/_search?q=HTTP.*&size=10",
"operationId" : "GetDistributionSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the distribution search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/distribution/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"query\" : {\n \"regexp\" : {\n \"name\" : \"HTTP.*\"\n }\n }\n}\nEOT",
"operationId" : "PostDistributionSearch",
"parameters" : [
{
"in" : "query",
"name" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteDistributionSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the scroll search.",
"operationId" : "GetDistributionSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the author search.",
"operationId" : "PostDistributionSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution/river" : {
"get" : {
"description" : "Returns the river of specified distributions",
"example" : "curl https://fastapi.metacpan.org/v1/distribution/river?distribution=HTTP-Message&distribution=Module-Generic",
"operationId" : "GetModuleDistributionRiverWithQuery",
"parameters" : [
{
"description" : "Specifies one or more distributions to get the river data.",
"in" : "query",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/river"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the river of specified distributions",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/distribution/river -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"distribution\" : [\n \"HTTP-Message\",\n \"Module-Generic\"\n ]\n}\nEOT",
"operationId" : "PostModuleDistributionRiverWithJSON",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"distribution" : {
"maxLength" : 2048,
"type" : "string"
}
},
"required" : [
"distribution"
],
"type" : "object"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/river"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution/river/{distribution}" : {
"get" : {
"description" : "Returns the river of a specific distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/distribution/river/HTTP-Message",
"operationId" : "GetModuleDistributionRiverWithParam",
"parameters" : [
{
"description" : "Distribution name",
"example" : "HTTP-Message",
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/river"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the river of a specific distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/distribution/river/HTTP-Message",
"operationId" : "PostModuleDistributionRiverWithParam",
"parameters" : [
{
"description" : "Distribution name",
"example" : "HTTP-Message",
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/river"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/distribution/{distribution}" : {
"get" : {
"description" : "Retrieves the specified distribution latest release information.",
"example" : "curl https://fastapi.metacpan.org/v1/distribution/HTTP-Message",
"operationId" : "GetModuleDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/distribution"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the specified distribution latest release information.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/distribution/HTTP-Message",
"operationId" : "PostModuleDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/distribution"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/download_url/{module}" : {
"get" : {
"description" : "Retrieves a download URL for a given module.\nThe `/download_url` endpoint exists specifically for the `cpanm` client. It takes a module name with an optional version (or range of versions) and an optional `dev` flag (for development releases) and returns a `download_url` as well as some other helpful info.\n\nObviously anyone can use this endpoint, but we'll only consider changes to this endpoint after considering how `cpanm` might be affected.",
"example" : "curl https://fastapi.metacpan.org/v1/download_url/HTTP::Message",
"operationId" : "GetDownloadURL",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/download_url"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a download URL for a given module.\nThe `/download_url` endpoint exists specifically for the `cpanm` client. It takes a module name with an optional version (or range of versions) and an optional `dev` flag (for development releases) and returns a `download_url` as well as some other helpful info.\n\nObviously anyone can use this endpoint, but we'll only consider changes to this endpoint after considering how `cpanm` might be affected.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/download_url/HTTP::Message",
"operationId" : "PostDownloadURL",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/download_url"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite" : {
"get" : {
"description" : "Retrieves favorites information details.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite?q=HTTP&size=10",
"operationId" : "GetFavorite",
"parameters" : [
{
"example" : "/v1/favorite?q=distribution:HTTP-Message",
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves favorites information details.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"query\" : {\n \"regexp\" : {\n \"release\" : \"HTTP.*\"\n }\n }\n}\nEOT",
"operationId" : "PostFavorite",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"example" : "{\"q\": \"distribution:HTTP-Message\"}",
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [favorite object](https://explorer.metacpan.org/?url=/favorite/_mapping).",
"operationId" : "GetFavoriteMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorite_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [favorite object](https://explorer.metacpan.org/?url=/favorite/_mapping).",
"operationId" : "PostFavoriteMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorite_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/_search" : {
"get" : {
"description" : "Returns the result set for the favorite search.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/_search?from=40&q=HTTP&size=20",
"operationId" : "GetFavoriteSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the favorite search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"distribution\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostFavoriteSearch",
"parameters" : [
{
"in" : "query",
"name" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteFavoriteSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the favorite search.",
"operationId" : "GetFavoriteSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the favorite search.",
"operationId" : "PostFavoriteSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/agg_by_distributions" : {
"get" : {
"description" : "Retrieves favorites agregate by distributions.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/agg_by_distributions?distribution=HTTP-Message&distribution=DBI",
"operationId" : "GetFavoriteAggregateDistribution",
"parameters" : [
{
"description" : "Specifies the distribution to get the favorites.",
"example" : "Nice-Try",
"in" : "query",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies the user to get the favorites.",
"example" : "AhTh1sISr3eA11yW3e1rd",
"in" : "query",
"name" : "user",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"favorites" : {
"example" : "Nice:;Try",
"module" : {
"type" : "integer"
},
"type" : "object"
},
"myfavorites" : {
"module" : {
"type" : "integer"
},
"type" : "object"
},
"took" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves favorites agregate by distributions using JSON parameters.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/agg_by_distributions -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"distribution\" : [\n \"HTTP-Message\",\n \"DBI\"\n ]\n}\nEOT",
"operationId" : "PostFavoriteAggregateDistribution",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"distribution" : {
"description" : "Specifies the distribution to get the favorites.",
"example" : "Nice-Try",
"required" : true,
"type" : "string"
},
"user" : {
"description" : "Specifies the user to get the favorites.",
"example" : "AhTh1sISr3eA11yW3e1rd",
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"favorites" : {
"example" : "Nice:;Try",
"module" : {
"type" : "integer"
},
"type" : "object"
},
"myfavorites" : {
"module" : {
"type" : "integer"
},
"type" : "object"
},
"took" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/by_user/{user}" : {
"get" : {
"description" : "Retrieves user favorites information details.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/by_user/q_15sjOkRminDY93g9DuZQ",
"operationId" : "GetFavoriteByUser",
"parameters" : [
{
"in" : "path",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorites"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves user favorites information details.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/by_user/q_15sjOkRminDY93g9DuZQ",
"operationId" : "PostFavoriteByUser",
"parameters" : [
{
"in" : "path",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorites"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/leaderboard" : {
"get" : {
"description" : "Retrieves top favorite distributions (leaderboard).",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/leaderboard",
"operationId" : "GetFavoriteLeaderboard",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"leaderboard" : {
"items" : {
"properties" : {
"doc_count" : {
"type" : "integer"
},
"key" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves top favorite distributions (leaderboard).",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/leaderboard",
"operationId" : "PostFavoriteLeaderboard",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"leaderboard" : {
"items" : {
"properties" : {
"doc_count" : {
"type" : "integer"
},
"key" : {
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/recent" : {
"get" : {
"description" : "Retrieves list of recent favorite distributions.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/recent?page=10&size=10",
"operationId" : "GetFavoriteRecent",
"parameters" : [
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the size of the result page.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorites"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves list of recent favorite distributions.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/recent -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"page\" : 10,\n \"size\" : 10\n}\nEOT",
"operationId" : "PostFavoriteRecent",
"parameters" : [
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the size of the result page.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorites"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/users_by_distribution/{distribution}" : {
"get" : {
"description" : "Retrieves list of users who favorited a distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/users_by_distribution/HTTP-Message",
"operationId" : "GetFavoriteUsers",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorites"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves list of users who favorited a distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/users_by_distribution/HTTP-Message",
"operationId" : "PostFavoriteUsers",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorites"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"users" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/favorite/{user}/{distribution}" : {
"get" : {
"description" : "Retrieves favorites information details for a specific distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/favorite/q_15sjOkRminDY93g9DuZQ/DBI",
"operationId" : "GetFavoriteByUserModule",
"parameters" : [
{
"in" : "path",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorite"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves favorites information details for a specific distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/favorite/q_15sjOkRminDY93g9DuZQ/DBI",
"operationId" : "PostFavoriteByUserModule",
"parameters" : [
{
"in" : "path",
"name" : "user",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/favorite"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/file" : {
"get" : {
"description" : "Queries files information details using simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/file?from=40&q=HTTP&size=20",
"operationId" : "GetFile",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Queries files information details using ElasticSearch format.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/file -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"release\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostFile",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/file/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [file object](https://explorer.metacpan.org/?url=/file/_mapping).",
"operationId" : "GetFileMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/file_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [file object](https://explorer.metacpan.org/?url=/file/_mapping).",
"operationId" : "PostFileMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/file_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/file/_search" : {
"get" : {
"description" : "Returns the result set for the file search.",
"example" : "curl https://fastapi.metacpan.org/v1/file/_search?from=40&q=HTTP&size=20",
"operationId" : "GetFileSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the file search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/file/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"path\" : \".*HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostFileSearch",
"parameters" : [
{
"in" : "query",
"name" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/file/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteFileSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the file search.",
"operationId" : "GetFileSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the file search.",
"operationId" : "PostFileSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/file/dir/{path}" : {
"get" : {
"description" : "Retrieves a specific release directory content.",
"example" : "curl https://fastapi.metacpan.org/v1/file/dir/OALDERS/HTTP-Message-6.36/lib/HTTP",
"operationId" : "GetFilePathDirectoryContent",
"parameters" : [
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"dir" : {
"items" : {
"$ref" : "#/components/schemas/file_preview"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a specific release directory content.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/file/dir/OALDERS/HTTP-Message-6.36/lib/HTTP",
"operationId" : "PostFilePathDirectoryContent",
"parameters" : [
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"dir" : {
"items" : {
"$ref" : "#/components/schemas/file_preview"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/file/{author}/{release}/{path}" : {
"get" : {
"description" : "Retrieves a file information details specified by its release and file path.",
"example" : "curl https://fastapi.metacpan.org/v1/file/OALDERS/HTTP-Message-6.36/lib/HTTP/Message.pm",
"operationId" : "GetFileByAuthorReleaseFilePath",
"parameters" : [
{
"description" : "The author or Pause ID is an all uppercase ID, such as OALDERS",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "A distribution name.",
"example" : "HTTP-Message-6.36",
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/file"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a file information details specified by its release and file path.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/file/OALDERS/HTTP-Message-6.36/lib/HTTP/Message.pm",
"operationId" : "PostFileByAuthorReleaseFilePath",
"parameters" : [
{
"description" : "The author or Pause ID is an all uppercase ID, such as OALDERS",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "A distribution name.",
"example" : "HTTP-Message-6.36",
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/file"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/login/index" : {
"get" : {
"description" : "Returns a login HTML page.",
"example" : "curl https://fastapi.metacpan.org/v1/login/index",
"operationId" : "GetLoginPage",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/html" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns a login HTML page.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/login/index",
"operationId" : "PostLoginPage",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/html" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/mirror" : {
"get" : {
"description" : "Returns a `mirrors` object containing a list of `mirror` objects. Currently, the API only returns one mirror, because CPAN now uses CDN instead of mirrors.",
"example" : "curl https://fastapi.metacpan.org/v1/mirror",
"operationId" : "GetMirror",
"parameters" : [
{
"description" : "Specifies an optional keyword to find the matching mirrors.",
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/mirrors"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns a `mirrors` object containing a list of `mirror` objects. Currently, the API only returns one mirror, because CPAN now uses CDN instead of mirrors.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/mirror",
"operationId" : "PostMirror",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"q" : {
"description" : "Specifies an optional keyword to find the matching mirrors.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/mirrors"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/mirror/search" : {
"get" : {
"description" : "Returns a `mirrors` object containing a list of `mirror` objects. Currently, the API only returns one mirror, because CPAN now uses CDN instead of mirrors.",
"example" : "curl https://fastapi.metacpan.org/v1/mirror/search?from=0&q=CPAN&size=20",
"operationId" : "GetMirrorSearch",
"parameters" : [
{
"description" : "Specifies an optional keyword to find the matching mirrors.",
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/mirrors"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns a `mirrors` object containing a list of `mirror` objects. Currently, the API only returns one mirror, because CPAN now uses CDN instead of mirrors.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/mirror/search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 0,\n \"query\" : {\n \"regexp\" : {\n \"path\" : \".*HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostMirrorSearch",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"q" : {
"description" : "Specifies an optional keyword to find the matching mirrors.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/mirrors"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/module" : {
"get" : {
"description" : "Queries modules information details using simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/module?from=40&q=HTTP&size=20",
"operationId" : "GetModule",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Queries modules information details using advanced ElasticSearch.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/module -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"name\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostModule",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/module/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [module object](https://explorer.metacpan.org/?url=/module/_mapping).",
"operationId" : "GetModuleMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/module_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [module object](https://explorer.metacpan.org/?url=/module/_mapping).",
"operationId" : "PostModuleMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/module_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/module/_search" : {
"get" : {
"description" : "Returns the result set for the module search.",
"example" : "curl https://fastapi.metacpan.org/v1/module/_search?from=40&q=HTTP&size=20",
"operationId" : "GetModuleSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the module search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/module/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"path\" : \".*HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostModuleSearch",
"parameters" : [
{
"in" : "query",
"name" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/module/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteModuleSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the module search.",
"operationId" : "GetModuleSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the module search.",
"operationId" : "PostModuleSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/module/{module}" : {
"get" : {
"description" : "Returns the corresponding `file` of the latest version of the `module`. Considering that HTTP-Message-6.37 is the latest release, the result of [/module/HTTP::Message](https://fastapi.metacpan.org/v1/module/HTTP::Message) is the same as [/file/OALDERS/HTTP-Message-6.37/lib/HTTP/Message.pm](https://fastapi.metacpan.org/v1/file/OALDERS/HTTP-Message-6.37/lib/HTTP/Message.pm).",
"example" : "curl https://fastapi.metacpan.org/v1/module/HTTP::Message",
"operationId" : "GetModuleFile",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/file"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the corresponding `file` of the latest version of the `module`. Considering that HTTP-Message-6.37 is the latest release, the result of [/module/HTTP::Message](https://fastapi.metacpan.org/v1/module/HTTP::Message) is the same as [/file/OALDERS/HTTP-Message-6.37/lib/HTTP/Message.pm](https://fastapi.metacpan.org/v1/file/OALDERS/HTTP-Message-6.37/lib/HTTP/Message.pm).",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/module/HTTP::Message",
"operationId" : "PostModuleFile",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/file"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/package" : {
"get" : {
"description" : "Queries packages information details using simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/package?from=40&q=HTTP&size=20",
"operationId" : "GetPackage",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Queries packages information details using advanced ElasticSearch.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/package -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"module_name\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostPackage",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/package/modules/{distribution}" : {
"get" : {
"description" : "Retrieves the list of a distribution packages.",
"example" : "curl https://fastapi.metacpan.org/v1/package/modules/HTTP-Message",
"operationId" : "GetPackageDistributionList",
"parameters" : [
{
"description" : "The name of the distribution to get its modules.",
"example" : "HTTP-Message",
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"property" : {
"modules" : {
"items" : {
"example" : "HTTP::Message",
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the list of a distribution packages.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/package/modules/HTTP-Message",
"operationId" : "PostPackageDistributionList",
"parameters" : [
{
"description" : "The name of the distribution to get its modules.",
"example" : "HTTP-Message",
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"property" : {
"modules" : {
"items" : {
"example" : "HTTP::Message",
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/package/{module}" : {
"get" : {
"description" : "Retrieves the latest release and package information for the specified `module`.",
"example" : "curl https://fastapi.metacpan.org/v1/package/HTTP::Message",
"operationId" : "GetModulePackage",
"parameters" : [
{
"description" : "The package name of the module to get its information.",
"example" : "HTTP::Message",
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/package"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the latest release and package information for the specified `module`.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/package/HTTP::Message",
"operationId" : "PostModulePackage",
"parameters" : [
{
"description" : "The package name of the module to get its information.",
"example" : "HTTP::Message",
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/package"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/permission" : {
"get" : {
"description" : "Queries permissions information details using simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/permission?from=40&q=HTTP&size=20",
"operationId" : "GetPermission",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Queries permissions information details using advanced ElasticSearch.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/permission -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"module_name\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostPermission",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/permission/by_author/{author}" : {
"get" : {
"description" : "Retrieves permission information details for the specified author.",
"example" : "curl https://fastapi.metacpan.org/v1/permission/by_author/OALDERS?from=40&q=HTTP&size=20",
"operationId" : "GetPermissionByAuthor",
"parameters" : [
{
"description" : "This is the user's pause ID",
"example" : "OALDERS",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permissions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves permission information details for the specified author.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/permission/by_author/OALDERS -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"module_name\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostPermissionByAuthor",
"parameters" : [
{
"description" : "This is the user's pause ID",
"example" : "OALDERS",
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permissions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/permission/by_module" : {
"get" : {
"description" : "Retrieves permission information details for the specified modules.",
"example" : "curl https://fastapi.metacpan.org/v1/permission/by_module?module=HTTP%3A%3AMessage&module=Nice%3A%3ATry",
"operationId" : "GetPermissionByModuleQueryString",
"parameters" : [
{
"description" : "This is the module package name",
"example" : "DBD::DBM::Statement",
"in" : "query",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permissions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves permission information details for the specified modules.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/permission/by_module -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"module\" : [\n \"HTTP::Message\",\n \"Nice::Try\"\n ]\n}\nEOT",
"operationId" : "PostPermissionByModuleJSON",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"module" : {
"description" : "This is the module package name",
"example" : "DBD::DBM::Statement",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permissions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/permission/by_module/{module}" : {
"get" : {
"description" : "Retrieves permission information details for the specified module.",
"example" : "curl https://fastapi.metacpan.org/v1/permission/by_module/HTTP::Message",
"operationId" : "GetPermissionByModule",
"parameters" : [
{
"description" : "This is the module package name",
"example" : "HTTP::Message",
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permissions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves permission information details for the specified module.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/permission/by_module/HTTP::Message",
"operationId" : "PostPermissionByModule",
"parameters" : [
{
"description" : "This is the module package name",
"example" : "HTTP::Message",
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permissions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/permission/{module}" : {
"get" : {
"description" : "Returns the corresponding `permission` for the specified `module`.",
"example" : "curl https://fastapi.metacpan.org/v1/permission/HTTP::Message",
"operationId" : "GetModulePermission",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permission"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the corresponding `permission` for the specified `module`.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/permission/HTTP::Message",
"operationId" : "PostModulePermission",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/permission"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/pod/{author}/{release}/{path}" : {
"get" : {
"description" : "Returns the POD of the given module in the specified release. You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP-Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"example" : "curl https://fastapi.metacpan.org/v1/pod/OALDERS/HTTP-Message-6.36/lib/HTTP/Message.pm?content-type=text/x-markdown",
"operationId" : "GetModuleReleasePod",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "query",
"name" : "show_errors",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"in" : "query",
"name" : "url_prefix",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP-Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"enum" : [
"text/html",
"text/plain",
"text/x-markdown",
"text/x-pod"
],
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/html" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-markdown" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-pod" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the POD of the given module in the specified release. You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP-Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/pod/OALDERS/HTTP-Message-6.36/lib/HTTP/Message.pm?content-type=text/x-markdown",
"operationId" : "PostModuleReleasePod",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "query",
"name" : "show_errors",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"in" : "query",
"name" : "url_prefix",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP-Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"enum" : [
"text/html",
"text/plain",
"text/x-markdown",
"text/x-pod"
],
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/html" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-markdown" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-pod" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/pod/{module}" : {
"get" : {
"description" : "Returns the POD of the given module. You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP::Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"example" : "curl https://fastapi.metacpan.org/v1/pod/HTTP::Message?content-type=text/plain",
"operationId" : "GetModulePOD",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "query",
"name" : "show_errors",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"in" : "query",
"name" : "url_prefix",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP-Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"enum" : [
"text/html",
"text/plain",
"text/x-markdown",
"text/x-pod"
],
"in" : "query",
"name" : "content-type",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/html" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-markdown" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-pod" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the POD of the given module. You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP::Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown. POST method is possible, but still with a query string. JSON payload are not recognised.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/pod/HTTP::Message?content-type=text/plain",
"operationId" : "PostModulePOD",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "query",
"name" : "show_errors",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"in" : "query",
"name" : "url_prefix",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "You can change the output format by either passing a `content-type` query parameter (e.g. [/pod/HTTP-Message?content-type=text/plain](https://fastapi.metacpan.org/v1/pod/HTTP-Message?content-type=text/plain) or by adding an `Accept` header to the HTTP request. Valid content types are:\n\n* text/html (default)\n* text/plain\n* text/x-pod\n* text/x-markdown",
"enum" : [
"text/html",
"text/plain",
"text/x-markdown",
"text/x-pod"
],
"in" : "query",
"name" : "content-type",
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/html" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-markdown" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
},
"text/x-pod" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/pod_render" : {
"get" : {
"description" : "Takes some POD data and check for errors. It returns the POD provided in formatted plan text.",
"example" : "curl https://fastapi.metacpan.org/v1/pod_render?pod=%3Dencoding+utf-8%0A%0A%3Dhead1+Hello+World%0A%0ASomething+here%0A%0A%3Doops%0A%0A%3Dcut%0A",
"operationId" : "GetRenderPOD",
"parameters" : [
{
"description" : "The POD data to format",
"example" : "=encoding utf-8\n\n=head1 Hello World\n\nSomething here\n\n=oops\n\n=cut\n",
"in" : "query",
"name" : "pod",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "show_errors",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/plain" : {
"schema" : {
"example" : "Hello World\n Something here\n\nPOD ERRORS\n Hey! The above document had some coding errors, which are explained below:\n\n Around line 7:\n Unknown directive: =oops\n",
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Takes some POD data and check for errors. It returns the POD provided in formatted plan text.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/pod_render?pod=%3Dencoding+utf-8%0A%0A%3Dhead1+Hello+World%0A%0ASomething+here%0A%0A%3Doops%0A%0A%3Dcut%0A",
"operationId" : "PostRenderPOD",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"pod" : {
"description" : "The POD data to format",
"example" : "=encoding utf-8\\n\\n=head1 Hello World\\n\\nSomething here\\n\\n=oops\\n\\n=cut\\n",
"type" : "string"
},
"show_errors" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/rating" : {
"get" : {
"description" : "Queries ratings information details using simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/rating?from=40&q=HTTP&size=20",
"operationId" : "GetRating",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Queries ratings information details using advanced ElasticSearch.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/rating -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"distribution\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostRating",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/rating/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [rating object](https://explorer.metacpan.org/?url=/rating/_mapping).",
"operationId" : "GetRatingMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/rating_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [rating object](https://explorer.metacpan.org/?url=/rating/_mapping).",
"operationId" : "PostRatingMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/rating_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/rating/_search" : {
"get" : {
"description" : "Returns the result set for the rating search.",
"example" : "curl https://fastapi.metacpan.org/v1/rating/_search?from=40&q=HTTP&size=20",
"operationId" : "GetRatingSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the rating search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/rating/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"distribution\" : \".*HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostRatingSearch",
"parameters" : [
{
"in" : "query",
"name" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/rating/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteRatingSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the rating search.",
"operationId" : "GetRatingSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the rating search.",
"operationId" : "PostRatingSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/rating/by_distributions" : {
"get" : {
"description" : "Retrieves rating informations details for the specified distributions.",
"example" : "curl https://fastapi.metacpan.org/v1/rating/by_distributions?distribution=HTTP-Tiny",
"operationId" : "GetRatingByDistribution",
"parameters" : [
{
"in" : "query",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/distributions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves rating informations details for the specified distributions.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/rating/by_distributions -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"distribution\" : \"HTTP-Tiny\"\n}",
"operationId" : "PostRatingByDistribution",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"distribution" : {
"example" : "HTTP-Message",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/distributions"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release" : {
"get" : {
"description" : "Queries releases information details using simple search.",
"example" : "curl https://fastapi.metacpan.org/v1/release?from=40&q=HTTP&size=20",
"operationId" : "GetRelease",
"parameters" : [
{
"in" : "query",
"name" : "q",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset starting from 0 within the total data.",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "The size of each page, i.e. how many results are returned per page. This usually defaults to 10.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Queries releases information details using advanced ElasticSearch.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"distribution\" : \"HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostRelease",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"maxLength" : 2048,
"type" : "string"
},
"from" : {
"type" : "integer"
},
"q" : {
"maxLength" : 2048,
"type" : "string"
},
"size" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/_mapping" : {
"get" : {
"description" : "Returns the available fields for the [release object](https://explorer.metacpan.org/?url=/release/_mapping).",
"operationId" : "GetReleaseMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/release_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the available fields for the [release object](https://explorer.metacpan.org/?url=/release/_mapping).",
"operationId" : "PostReleaseMapping",
"parameters" : [],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/release_mapping"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/_search" : {
"get" : {
"description" : "Returns the result set for the release search.",
"example" : "curl https://fastapi.metacpan.org/v1/release/_search?from=40&q=HTTP&size=20",
"operationId" : "GetReleaseSearch",
"parameters" : [
{
"description" : "Specifies the [search query](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches).",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the maximum number of [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result elements.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the release search.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/_search -H 'Content-Type: application/json; charset=utf-8' --data-binary @- <<EOT\n{\n \"from\" : 40,\n \"query\" : {\n \"regexp\" : {\n \"name\" : \".*HTTP.*\"\n }\n },\n \"size\" : 20\n}\nEOT",
"operationId" : "PostReleaseSearch",
"parameters" : [
{
"in" : "query",
"name" : "query",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the elements to sort the [search](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#get-searches) result.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/elastic_search"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/_search/scroll" : {
"delete" : {
"description" : "Clear a [scroll](https://www.elastic.co/guide/en/elasticsearch/reference/8.9/paginate-search-results.html#clear-scroll)",
"operationId" : "DeleteReleaseSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"oneOf" : [
{
"properties" : {
"scroll_id" : {
"type" : "string"
}
}
},
{
"properties" : {
"scroll_id" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
]
}
}
},
"required" : true
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"removed" : {
"type" : "boolean"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"get" : {
"description" : "Returns the result set for the release search.",
"operationId" : "GetReleaseSearchScroll",
"parameters" : [
{
"description" : "Specifies the time to live of the [scroll search](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html#scroll-search-context).",
"in" : "query",
"name" : "scroll",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the [scroll ID](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-scroll.html).",
"in" : "query",
"name" : "scroll_id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the result set for the release search.",
"operationId" : "PostReleaseSearchScroll",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"$ref" : "#/components/schemas/scroll"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/scroll_result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/all_by_author/{author}" : {
"get" : {
"description" : "Get all releases by the specified author",
"example" : "curl https://fastapi.metacpan.org/v1/release/all_by_author/OALDERS?page=2&page_size=100",
"operationId" : "GetAllReleasesByAuthor",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"in" : "query",
"name" : "page_size",
"required" : false,
"schema" : {
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get all releases by the specified author",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/all_by_author/OALDERS?page=2&page_size=100",
"operationId" : "PostAllReleasesByAuthor",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"page" : {
"description" : "Specifies the page offset starting from 1.",
"type" : "integer"
},
"page_size" : {
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/by_author/{author}" : {
"get" : {
"description" : "Get releases by a specified author.",
"example" : "curl https://fastapi.metacpan.org/v1/release/by_author/OALDERS",
"operationId" : "GetReleaseByAuthor",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get releases by a specified author.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/by_author/OALDERS",
"operationId" : "PostReleaseByAuthor",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"page" : {
"description" : "Specifies the page offset starting from 1.",
"type" : "integer"
},
"size" : {
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/contributors/{author}/{release}" : {
"get" : {
"description" : "Retrieves the list of contributors for the specified release.",
"example" : "curl https://fastapi.metacpan.org/v1/release/contributors/OALDERS/HTTP-Message-6.36",
"operationId" : "GetReleaseDistributionContributors",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"contributors" : {
"items" : {
"properties" : {
"email" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"gravatar_url" : {
"description" : "Contributor profile picture",
"maxLength" : 2048,
"type" : "string"
},
"name" : {
"description" : "Contributor's name",
"maxLength" : 2048,
"type" : "string"
},
"pause_id" : {
"description" : "Contributor's CPAN ID",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the list of contributors for the specified release.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/contributors/OALDERS/HTTP-Message-6.36",
"operationId" : "PostReleaseDistributionContributors",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"join" : {
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"contributors" : {
"items" : {
"properties" : {
"email" : {
"items" : {
"maxLength" : 2048,
"type" : "string"
},
"type" : "array"
},
"gravatar_url" : {
"description" : "Contributor profile picture",
"maxLength" : 2048,
"type" : "string"
},
"name" : {
"description" : "Contributor's name",
"maxLength" : 2048,
"type" : "string"
},
"pause_id" : {
"description" : "Contributor's CPAN ID",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/files_by_category/{author}/{release}" : {
"get" : {
"description" : "Retrieves the list of release key files by category",
"example" : "curl https://fastapi.metacpan.org/v1/release/files_by_category/OALDERS/HTTP-Message-6.36",
"operationId" : "GetReleaseKeyFilesByCategory",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "An optional category can be specified to refine the result. Valid vlues include `changelog`, `contributing`, `dist`, `license`, `other`",
"in" : "query",
"name" : "category",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/files_categories"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the list of release key files by category",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/files_by_category/OALDERS/HTTP-Message-6.36",
"operationId" : "PostReleaseKeyFilesByCategory",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"category" : {
"description" : "An optional category can be specified to refine the result. Valid vlues include `changelog`, `contributing`, `dist`, `license`, `other`",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/files_categories"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/interesting_files/{author}/{release}" : {
"get" : {
"description" : "Retrieves the list of interesting files for the specified release.",
"example" : "curl https://fastapi.metacpan.org/v1/release/interesting_files/OALDERS/HTTP-Message-6.36",
"operationId" : "GetReleaseInterestingFiles",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "An optional category can be specified to refine the result. Valid vlues include `changelog`, `contributing`, `dist`, `license`, `other`",
"in" : "query",
"name" : "category",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/files_interesting"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the list of interesting files for the specified release.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/interesting_files/OALDERS/HTTP-Message-6.36",
"operationId" : "PostReleaseInterestingFiles",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"category" : {
"description" : "An optional category can be specified to refine the result. Valid vlues include `changelog`, `contributing`, `dist`, `license`, `other`",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/files_interesting"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/latest_by_author/{author}" : {
"get" : {
"description" : "Get latest releases by the specified author",
"example" : "curl https://fastapi.metacpan.org/v1/release/latest_by_author/OALDERS",
"operationId" : "GetLatestReleaseByAuthor",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get latest releases by the specified author",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/latest_by_author/OALDERS",
"operationId" : "PostLatestReleaseByAuthor",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/latest_by_distribution/{distribution}" : {
"get" : {
"description" : "Get latest releases for a specified distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/release/latest_by_distribution/HTTP-Message",
"operationId" : "GetLatestReleaseByDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"release" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get latest releases for a specified distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/latest_by_distribution/HTTP-Message",
"operationId" : "PostLatestReleaseByDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"release" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/modules/{author}/{release}" : {
"get" : {
"description" : "Retrieves the list of modules in the specified release",
"example" : "curl https://fastapi.metacpan.org/v1/release/modules/OALDERS/HTTP-Message-6.36",
"operationId" : "GetReleaseModules",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/files"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the list of modules in the specified release",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/modules/OALDERS/HTTP-Message-6.36",
"operationId" : "PostReleaseModules",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"join" : {
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/files"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/recent" : {
"get" : {
"description" : "Get recent releases",
"example" : "curl https://fastapi.metacpan.org/v1/release/recent",
"operationId" : "GetReleaseRecent",
"parameters" : [
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"in" : "query",
"name" : "page_size",
"required" : false,
"schema" : {
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/release_recents"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get recent releases",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/recent",
"operationId" : "PostReleaseRecent",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"page" : {
"description" : "Specifies the page offset starting from 1.",
"type" : "integer"
},
"page_size" : {
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"type" : "integer"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/release_recents"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/top_uploaders" : {
"get" : {
"description" : "Get top release uploaders",
"example" : "curl https://fastapi.metacpan.org/v1/release/top_uploaders",
"operationId" : "GetTopReleaseUploaders",
"parameters" : [
{
"description" : "Specifies the result range. Valid values are `all`, `weekly`, `monthly` or `yearly`. It defaults to `weekly`",
"in" : "query",
"name" : "range",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies the page size, i.e. the number of elements returned in one page.",
"in" : "query",
"name" : "page_size",
"required" : false,
"schema" : {
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"count" : {
"description" : "Array of pause IDs to the number of distributions",
"example" : "\"NOBUNAGA\" : 5",
"items" : {
"additionalProperties" : {
"type" : "string"
},
"type" : "object"
},
"type" : "array"
},
"took" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get top release uploaders",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/top_uploaders",
"operationId" : "PostTopReleaseUploaders",
"parameters" : [],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"range" : {
"description" : "Specifies the result range. Valid values are `all`, `weekly`, `monthly` or `yearly`. It defaults to `weekly`",
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"count" : {
"description" : "Array of pause IDs to the number of distributions",
"example" : "\"NOBUNAGA\" : 5",
"items" : {
"additionalProperties" : {
"type" : "string"
},
"type" : "object"
},
"type" : "array"
},
"took" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/versions/{distribution}" : {
"get" : {
"description" : "Get all releases by versions for the specified distribution",
"example" : "curl https://fastapi.metacpan.org/v1/release/versions/HTTP-Message",
"operationId" : "GetAllReleasesByVersion",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies the version(s) to return as a comma-sepated value.",
"example" : "v0.30.5,v0.31.0",
"in" : "query",
"name" : "versions",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies whether the result should be returned in plain mode.",
"in" : "query",
"name" : "plain",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
},
"text/plain" : {
"description" : "Lines of version and download URL spearated by a space are returned when the option `plain` is enabled.",
"example" : "6.44\thttps://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.44.tar.gz\n6.43\thttps://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE/HTTP-Message-6.43.tar.gz",
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Get all releases by versions for the specified distribution",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/versions/HTTP-Message",
"operationId" : "PostAllReleasesByVersion",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"plain" : {
"description" : "Specifies whether the result should be returned in plain mode.",
"type" : "boolean"
},
"versions" : {
"description" : "Specifies the version(s) to return as a comma-sepated value.",
"example" : "v0.30.5,v0.31.0",
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/releases"
}
},
"text/plain" : {
"description" : "Lines of version and download URL spearated by a space are returned when the option `plain` is enabled.",
"example" : "6.44\thttps://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.44.tar.gz\n6.43\thttps://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE/HTTP-Message-6.43.tar.gz",
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/{author}/{release}" : {
"get" : {
"description" : "Retrieves a distribution release information details.\nThis `/release` endpoint accepts the name of an `author` and the name of the `release` (e.g. [/release/DOY/OALDERS/HTTP-Message-6.37](https://fastapi.metacpan.org/v1/release/DOY/OALDERS/HTTP-Message-6.37)), which returns the most recent release of the distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/release/OALDERS/HTTP-Message-6.36",
"operationId" : "GetAuthorReleaseDistribution",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"release" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves a distribution release information details.\nThis `/release` endpoint accepts the name of an `author` and the name of the `release` (e.g. [/release/DOY/OALDERS/HTTP-Message-6.37](https://fastapi.metacpan.org/v1/release/DOY/OALDERS/HTTP-Message-6.37)), which returns the most recent release of the distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/OALDERS/HTTP-Message-6.36",
"operationId" : "PostAuthorReleaseDistribution",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"join" : {
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"release" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/release/{distribution}" : {
"get" : {
"description" : "Retrieves the latest distribution release information details.\nThe `/release` endpoint accepts either the name of a `distribution` (e.g. [/release/HTTP-Message](https://fastapi.metacpan.org/v1/release/HTTP-Message)), which returns the most recent release of the distribution.",
"example" : "curl https://fastapi.metacpan.org/v1/release/HTTP-Message",
"operationId" : "GetReleaseDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"in" : "query",
"name" : "join",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Retrieves the latest distribution release information details.\nThe `/release` endpoint accepts either the name of a `distribution` (e.g. [/release/HTTP-Message](https://fastapi.metacpan.org/v1/release/HTTP-Message)), which returns the most recent release of the distribution.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/release/HTTP-Message",
"operationId" : "PostReleaseDistribution",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"join" : {
"description" : "Specifies which object to [join](https://github.com/metacpan/metacpan-api/blob/master/docs/API-docs.md#joins) in the result.",
"maxLength" : 2048,
"type" : "string"
}
},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/release"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/reverse_dependencies/dist/{distribution}" : {
"get" : {
"description" : "Returns a list of all the modules who depend on the specified distribution.`.",
"example" : "curl https://fastapi.metacpan.org/v1/reverse_dependencies/dist/HTTP-Message",
"operationId" : "GetReverseDependencyDist",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the number of result per page to be returned. Usually one would use `size` only.",
"in" : "query",
"name" : "page_size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the maximum total number of result to be returned.",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies how the result is sorted.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/reverse_dependencies"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns a list of all the modules who depend on the specified distribution.`.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/reverse_dependencies/dist/HTTP-Message",
"operationId" : "PostReverseDependencyDist",
"parameters" : [
{
"in" : "path",
"name" : "distribution",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"page" : {
"description" : "Specifies the page offset starting from 1.",
"type" : "integer"
},
"page_size" : {
"description" : "Specifies the number of result per page to be returned. Usually one would use `size` only.",
"type" : "integer"
},
"size" : {
"description" : "Specifies the maximum total number of result to be returned.",
"type" : "integer"
},
"sort" : {
"description" : "Specifies how the result is sorted.",
"type" : "string"
}
},
"required" : [],
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/reverse_dependencies"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/reverse_dependencies/module/{module}" : {
"get" : {
"description" : "Returns a list of all the modules who depend on the specified module.",
"example" : "curl https://fastapi.metacpan.org/v1/reverse_dependencies/module/HTTP::Message",
"operationId" : "GetReverseDependencyModule",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies the page offset starting from 1.",
"in" : "query",
"name" : "page",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies the number of result per page to be returned.",
"in" : "query",
"name" : "page_size",
"required" : false,
"schema" : {
"type" : "integer"
}
},
{
"description" : "Specifies how the result is sorted.",
"in" : "query",
"name" : "sort",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/reverse_dependencies"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns a list of all the modules who depend on the specified module.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/reverse_dependencies/module/HTTP::Message",
"operationId" : "PostReverseDependencyModule",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/json" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {
"page" : {
"description" : "Specifies the page offset starting from 1.",
"type" : "integer"
},
"page_size" : {
"description" : "Specifies the number of result per page to be returned.",
"type" : "integer"
},
"sort" : {
"description" : "Specifies how the result is sorted.",
"type" : "string"
}
},
"required" : [],
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/reverse_dependencies"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search" : {
"get" : {
"description" : "Returns result set based on the search query.",
"operationId" : "GetSearchResult",
"parameters" : [
{
"description" : "Specifies the search keywords to be queried.",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/autocomplete" : {
"get" : {
"description" : "Returns result set based on the autocomplete search query.",
"example" : "https://fastapi.metacpan.org/search/autocomplete?q=HTTP",
"operationId" : "GetSearchAutocompleteResult",
"parameters" : [
{
"description" : "Specifies the search keyword to be queried.",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/autocomplete/suggest" : {
"get" : {
"description" : "Returns suggested result set based on the autocomplete search query.",
"operationId" : "GetSearchAutocompleteSuggestResult",
"parameters" : [
{
"description" : "Specifies the search keyword to be queried.",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/first" : {
"get" : {
"description" : "Perform API search and return the first result (I'm Feeling Lucky)",
"operationId" : "GetSearchFirstResult",
"parameters" : [
{
"description" : "Specifies the search keywords to be queried.",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"abstract.analyzed" : {
"description" : "The module's abstract as analyzed from POD",
"type" : "string"
},
"author" : {
"description" : "Module author ID",
"type" : "string"
},
"authorized" : {
"type" : "boolean"
},
"date" : {
"description" : "date module was indexed",
"format" : "date-time",
"type" : "string"
},
"description" : {
"description" : "Module description",
"type" : "string"
},
"dist_fav_count" : {
"description" : "Number of times favorited",
"type" : "integer"
},
"distribution" : {
"description" : "Name of the distribution the module is contained in",
"type" : "string"
},
"documentation" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"indexed" : {
"description" : "Is the module indexed by PAUSE",
"type" : "boolean"
},
"items" : {
"type" : "integer"
},
"path" : {
"description" : "Relative path to module with full name",
"type" : "string"
},
"pod_lines" : {
"type" : "array"
},
"release" : {
"description" : "Package name with version",
"type" : "string"
},
"status" : {
"type" : "string"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/history/documentation/{module}/{path}" : {
"get" : {
"description" : "Find the history of a given module documentation.",
"example" : "curl https://fastapi.metacpan.org/v1/search/history/documentation/HTTP::Message/lib/HTTP/Message.pm",
"operationId" : "GetDocumentationHistory",
"parameters" : [
{
"description" : "Specifies the module name.",
"in" : "path",
"name" : "module",
"required" : true,
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Find the history of a given module documentation.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/search/history/documentation/HTTP::Message/lib/HTTP/Message.pm",
"operationId" : "PostDocumentationHistory",
"parameters" : [
{
"description" : "Specifies the module name.",
"in" : "path",
"name" : "module",
"required" : true,
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/history/file/{distribution}/{path}" : {
"get" : {
"description" : "Find the history of a given distribution file.",
"example" : "curl https://fastapi.metacpan.org/v1/search/history/file/HTTP-Message/lib/HTTP/Message.pm",
"operationId" : "GetFileHistory",
"parameters" : [
{
"description" : "Specifies the distribution name.",
"in" : "path",
"name" : "distribution",
"required" : true,
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Find the history of a given distribution file.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/search/history/file/HTTP-Message/lib/HTTP/Message.pm",
"operationId" : "PostFileHistory",
"parameters" : [
{
"description" : "Specifies the distribution name.",
"in" : "path",
"name" : "distribution",
"required" : true,
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/history/module/{module}/{path}" : {
"get" : {
"description" : "Find the history of a given module.",
"example" : "curl https://fastapi.metacpan.org/v1/search/history/module/HTTP::Message/lib/HTTP/Message.pm",
"operationId" : "GetModuleHistory",
"parameters" : [
{
"description" : "Specifies the module name.",
"in" : "path",
"name" : "module",
"required" : true,
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Find the history of a given module.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/search/history/module/HTTP::Message/lib/HTTP/Message.pm",
"operationId" : "PostModuleHistory",
"parameters" : [
{
"description" : "Specifies the module name.",
"in" : "path",
"name" : "module",
"required" : true,
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/search/web" : {
"get" : {
"description" : "Perform API search in the same fashion as the Web UI",
"example" : "curl https://fastapi.metacpan.org/v1/search/web?q=HTTP&from=0&size=10&collapsed=1",
"operationId" : "GetSearchWebResult",
"parameters" : [
{
"description" : "The query search term. If the search term contains a term with the tags `dist:` or `module:` results will be in expanded form, otherwise collapsed form.\n\nSee also `collapsed`",
"in" : "query",
"name" : "q",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"description" : "The offset to use in the result set",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"default" : 0,
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Number of results per page",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"default" : 20,
"type" : "integer"
},
"style" : "simple"
},
{
"description" : "Force a collapsed even when searching for a particular distribution or module name.",
"in" : "query",
"name" : "collapsed",
"required" : false,
"schema" : {
"type" : "boolean"
},
"style" : "simple"
},
{
"description" : "Specifies which fields in the response should be provided.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"maxLength" : 2048,
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"properties" : {
"collapsed" : {
"type" : "boolean"
},
"results" : {
"items" : {
"schema" : {
"$ref" : "#/components/schemas/result_set"
}
},
"type" : "array"
},
"took" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"type" : "object"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/source/{author}/{release}/{path}" : {
"get" : {
"description" : "Returns the source code of the given module path within the specified release.",
"example" : "curl https://fastapi.metacpan.org/v1/source/OALDERS/HTTP-Message-6.36/lib/HTTP/Message.pm",
"operationId" : "GetSourceReleasePath",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the source code of the given module path within the specified release.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/source/OALDERS/HTTP-Message-6.36/lib/HTTP/Message.pm",
"operationId" : "PostSourceReleasePath",
"parameters" : [
{
"in" : "path",
"name" : "author",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "release",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
},
{
"in" : "path",
"name" : "path",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
},
"/v1/source/{module}" : {
"get" : {
"description" : "Returns the full source of the latest, authorized version of the given `module`.",
"example" : "curl https://fastapi.metacpan.org/v1/source/HTTP::Message",
"operationId" : "GetModuleSource",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
},
"post" : {
"description" : "Returns the full source of the latest, authorized version of the given `module`.",
"example" : "curl -XPOST https://fastapi.metacpan.org/v1/source/HTTP::Message",
"operationId" : "PostModuleSource",
"parameters" : [
{
"in" : "path",
"name" : "module",
"required" : true,
"schema" : {
"maxLength" : 2048,
"type" : "string"
},
"style" : "simple"
}
],
"requestBody" : {
"content" : {
"application/x-www-form-urlencoded" : {
"encoding" : {},
"schema" : {
"additionalProperties" : false,
"properties" : {},
"type" : "object"
}
}
},
"required" : false
},
"responses" : {
"200" : {
"content" : {
"text/plain" : {
"schema" : {
"format" : "binary",
"type" : "string"
}
}
},
"description" : "Successful response."
},
"default" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/error"
}
}
},
"description" : "Error response."
}
}
}
}
},
"security" : [],
"servers" : [
{
"url" : "https://fastapi.metacpan.org"
}
]
}