UNPKG

rdme

Version:

ReadMe's official CLI and GitHub Action.

744 lines (743 loc) 633 kB
/** * This is a snapshot of the OpenAPI description for ReadMe APIv2. * * This is used both for typechecking as well as for runtime validation. * We use ajv to validate the user data against schemas in this document. * * @see {@link https://docs.readme.com/main/openapi/readme-api-v2-beta.json} */ declare const document: { readonly openapi: "3.1.0"; readonly info: { readonly description: "Create beautiful product and API documentation with our developer friendly platform."; readonly version: "2.0.0-beta"; readonly title: "ReadMe API v2 🦉 (BETA)"; readonly 'x-readme-deploy': "5.344.0"; readonly termsOfService: "https://readme.com/tos"; readonly contact: { readonly name: "API Support"; readonly url: "https://docs.readme.com/main/docs/need-more-support"; readonly email: "support@readme.io"; }; }; readonly components: { readonly securitySchemes: { readonly bearer: { readonly type: "http"; readonly scheme: "bearer"; readonly description: "A bearer token that will be supplied within an `Authentication` header as `bearer <token>`."; }; }; readonly schemas: {}; }; readonly paths: { readonly '/projects/{subdomain}/apikeys': { readonly post: { readonly operationId: "createAPIKey"; readonly summary: "Create an API key"; readonly tags: ["API Keys"]; readonly description: "Create an API key for your ReadMe project.\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly requestBody: { readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly label: { readonly allOf: [{ readonly type: "string"; }, { readonly type: "string"; readonly minLength: 1; }]; }; }; readonly required: ["label"]; readonly additionalProperties: false; }; }; }; readonly required: true; }; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)"; readonly maxLength: 30; }; readonly in: "path"; readonly name: "subdomain"; readonly required: true; readonly description: "The subdomain of your project."; }]; readonly responses: { readonly '201': { readonly description: "Created"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly data: { readonly type: "object"; readonly properties: { readonly token: { readonly type: "string"; readonly pattern: "rdme_\\w+"; }; readonly label: { readonly type: "string"; readonly nullable: true; }; readonly last_accessed_on: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; readonly description: "An ISO 8601 formatted date for when the API key was last accessed."; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API key was created."; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/projects\\/(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)\\/apikeys\\/[a-f\\d]{24}"; }; }; readonly required: ["token", "label", "last_accessed_on", "created_at", "uri"]; readonly additionalProperties: false; }; }; readonly required: ["data"]; readonly additionalProperties: false; }; }; }; }; }; }; readonly get: { readonly operationId: "getAPIKeys"; readonly summary: "Get your API keys"; readonly tags: ["API Keys"]; readonly description: "Get the API keys for your ReadMe project.\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly parameters: [{ readonly schema: { readonly type: "number"; readonly minimum: 1; readonly default: 1; }; readonly in: "query"; readonly name: "page"; readonly required: false; readonly description: "Used to specify further pages (starts at 1)."; }, { readonly schema: { readonly type: "number"; readonly minimum: 1; readonly maximum: 100; readonly default: 10; }; readonly in: "query"; readonly name: "per_page"; readonly required: false; readonly description: "Number of items to include in pagination (up to 100, defaults to 10)."; }, { readonly schema: { readonly type: "string"; readonly pattern: "(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)"; readonly maxLength: 30; }; readonly in: "path"; readonly name: "subdomain"; readonly required: true; readonly description: "The subdomain of your project."; }]; readonly responses: { readonly '200': { readonly description: "OK"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly total: { readonly type: "number"; }; readonly page: { readonly type: "number"; }; readonly per_page: { readonly type: "number"; }; readonly paging: { readonly type: "object"; readonly properties: { readonly next: { readonly type: "string"; readonly nullable: true; }; readonly previous: { readonly type: "string"; readonly nullable: true; }; readonly first: { readonly type: "string"; readonly nullable: true; }; readonly last: { readonly type: "string"; readonly nullable: true; }; }; readonly required: ["next", "previous", "first", "last"]; readonly additionalProperties: false; }; readonly data: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly token: { readonly type: "string"; readonly pattern: "rdme_\\w+"; }; readonly label: { readonly type: "string"; readonly nullable: true; }; readonly last_accessed_on: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; readonly description: "An ISO 8601 formatted date for when the API key was last accessed."; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API key was created."; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/projects\\/(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)\\/apikeys\\/[a-f\\d]{24}"; }; }; readonly required: ["token", "label", "last_accessed_on", "created_at", "uri"]; readonly additionalProperties: false; }; }; }; readonly required: ["total", "page", "per_page", "paging", "data"]; readonly additionalProperties: false; }; }; }; }; }; }; }; readonly '/projects/{subdomain}/apikeys/{api_key_id}': { readonly delete: { readonly operationId: "deleteAPIKey"; readonly summary: "Delete an API key"; readonly tags: ["API Keys"]; readonly description: "Delete an API key from your ReadMe project.\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "[a-f\\d]{24}"; }; readonly in: "path"; readonly name: "api_key_id"; readonly required: true; readonly description: "The unique identifier for your API key."; }, { readonly schema: { readonly type: "string"; readonly pattern: "(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)"; readonly maxLength: 30; }; readonly in: "path"; readonly name: "subdomain"; readonly required: true; readonly description: "The subdomain of your project."; }]; readonly responses: { readonly '204': { readonly description: "No Content"; }; }; }; readonly get: { readonly operationId: "getAPIKey"; readonly summary: "Get an API key"; readonly tags: ["API Keys"]; readonly description: "Get an API key for your ReadMe project.\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "[a-f\\d]{24}"; }; readonly in: "path"; readonly name: "api_key_id"; readonly required: true; readonly description: "The unique identifier for your API key."; }, { readonly schema: { readonly type: "string"; readonly pattern: "(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)"; readonly maxLength: 30; }; readonly in: "path"; readonly name: "subdomain"; readonly required: true; readonly description: "The subdomain of your project."; }]; readonly responses: { readonly '200': { readonly description: "OK"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly data: { readonly type: "object"; readonly properties: { readonly token: { readonly type: "string"; readonly pattern: "rdme_\\w+"; }; readonly label: { readonly type: "string"; readonly nullable: true; }; readonly last_accessed_on: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; readonly description: "An ISO 8601 formatted date for when the API key was last accessed."; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API key was created."; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/projects\\/(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)\\/apikeys\\/[a-f\\d]{24}"; }; }; readonly required: ["token", "label", "last_accessed_on", "created_at", "uri"]; readonly additionalProperties: false; }; }; readonly required: ["data"]; readonly additionalProperties: false; }; }; }; }; }; }; readonly patch: { readonly operationId: "updateAPIKey"; readonly summary: "Update an API key"; readonly tags: ["API Keys"]; readonly description: "Update an API key on your ReadMe project.\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly requestBody: { readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly label: { readonly allOf: [{ readonly type: "string"; }, { readonly type: "string"; readonly minLength: 1; }]; }; }; readonly required: ["label"]; readonly additionalProperties: false; }; }; }; readonly required: true; }; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "[a-f\\d]{24}"; }; readonly in: "path"; readonly name: "api_key_id"; readonly required: true; readonly description: "The unique identifier for your API key."; }, { readonly schema: { readonly type: "string"; readonly pattern: "(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)"; readonly maxLength: 30; }; readonly in: "path"; readonly name: "subdomain"; readonly required: true; readonly description: "The subdomain of your project."; }]; readonly responses: { readonly '200': { readonly description: "OK"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly data: { readonly type: "object"; readonly properties: { readonly token: { readonly type: "string"; readonly pattern: "rdme_\\w+"; }; readonly label: { readonly type: "string"; readonly nullable: true; }; readonly last_accessed_on: { readonly type: "string"; readonly format: "date-time"; readonly nullable: true; readonly description: "An ISO 8601 formatted date for when the API key was last accessed."; }; readonly created_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API key was created."; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/projects\\/(me|[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)\\/apikeys\\/[a-f\\d]{24}"; }; }; readonly required: ["token", "label", "last_accessed_on", "created_at", "uri"]; readonly additionalProperties: false; }; }; readonly required: ["data"]; readonly additionalProperties: false; }; }; }; }; }; }; }; readonly '/branches/{branch}/apis': { readonly get: { readonly operationId: "getAPIs"; readonly summary: "Get all API definitions"; readonly tags: ["APIs"]; readonly description: "Get all API definitions from your ReadMe project.\n\n>📘\n> This route is only available to projects that are using [ReadMe Refactored](https://docs.readme.com/main/docs/welcome-to-readme-refactored).\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "(v{0,1})(stable|([0-9]+)(?:\\.([0-9]+))?(?:\\.([0-9]+))?(-.*)?)(_(.*))?"; }; readonly in: "path"; readonly name: "branch"; readonly required: true; readonly description: "Project version number, `stable` for your project's stable version, or a valid branch name."; }]; readonly responses: { readonly '200': { readonly description: "OK"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly total: { readonly type: "number"; }; readonly data: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly created_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API definition was created."; }; readonly filename: { readonly type: "string"; readonly description: "This is the unique identifier, its filename, for the API definition."; }; readonly source: { readonly type: "object"; readonly properties: { readonly current: { readonly type: "string"; readonly enum: ["api", "apidesigner", "apieditor", "bidi", "form", "postman", "rdme", "rdme_github", "url"]; }; readonly original: { readonly type: "string"; readonly enum: ["api", "apidesigner", "apieditor", "bidi", "form", "postman", "rdme", "rdme_github", "url"]; }; }; readonly required: ["current", "original"]; readonly additionalProperties: false; readonly description: "The sources by which this API definition was ingested."; }; readonly type: { readonly type: "string"; readonly enum: ["openapi", "postman", "swagger", "unknown"]; readonly description: "The type of API definition. This will be `unknown` if the API definition has either not yet been processed or failed with validation errors."; }; readonly updated_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API definition was last updated."; }; readonly upload: { readonly type: "object"; readonly properties: { readonly status: { readonly type: "string"; readonly enum: ["pending", "failed", "done", "pending_update", "failed_update"]; readonly description: "The status of the API definition upload."; }; readonly reason: { readonly type: "string"; readonly nullable: true; readonly description: "The reason for the upload failure if it failed."; }; readonly warnings: { readonly type: "string"; readonly nullable: true; readonly description: "Any fixable warnings that may exist within the API definition if the upload was ingested without errors."; }; }; readonly required: ["status", "reason", "warnings"]; readonly additionalProperties: false; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/(versions|branches)\\/((v{0,1})(stable|([0-9]+)(?:\\.([0-9]+))?(?:\\.([0-9]+))?(-.*)?)(_(.*))?)\\/apis\\/((([a-z0-9-_ ]|[^\\\\x00-\\\\x7F])+.(json|yaml|yml)))"; readonly description: "A URI to the API definition resource."; }; }; readonly required: ["created_at", "filename", "source", "type", "updated_at", "upload", "uri"]; readonly additionalProperties: false; }; }; }; readonly required: ["total", "data"]; readonly additionalProperties: false; }; }; }; }; }; }; readonly post: { readonly operationId: "createAPI"; readonly summary: "Create an API definition"; readonly tags: ["APIs"]; readonly description: "Create an API definition in the API Reference section of your ReadMe project.\n\n>📘\n> This route is only available to projects that are using [ReadMe Refactored](https://docs.readme.com/main/docs/welcome-to-readme-refactored).\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly requestBody: { readonly content: { readonly 'multipart/form-data': { readonly schema: { readonly type: "object"; readonly properties: { readonly schema: { readonly description: "The API definition."; }; readonly upload_source: { readonly default: "form"; readonly description: "The source that the API definition is being uploaded through."; }; readonly url: { readonly description: "The URL where the API definition is hosted."; }; }; readonly additionalProperties: false; }; }; }; }; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "(v{0,1})(stable|([0-9]+)(?:\\.([0-9]+))?(?:\\.([0-9]+))?(-.*)?)(_(.*))?"; }; readonly in: "path"; readonly name: "branch"; readonly required: true; readonly description: "Project version number, `stable` for your project's stable version, or a valid branch name."; }]; readonly responses: { readonly '202': { readonly description: "Accepted"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly data: { readonly type: "object"; readonly properties: { readonly upload: { readonly type: "object"; readonly properties: { readonly status: { readonly type: "string"; readonly enum: ["pending", "failed", "done", "pending_update", "failed_update"]; readonly description: "The status of the API definition upload."; }; }; readonly required: ["status"]; readonly additionalProperties: false; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/(versions|branches)\\/((v{0,1})(stable|([0-9]+)(?:\\.([0-9]+))?(?:\\.([0-9]+))?(-.*)?)(_(.*))?)\\/apis\\/((([a-z0-9-_ ]|[^\\\\x00-\\\\x7F])+.(json|yaml|yml)))"; readonly description: "A URI to the API definition resource."; }; }; readonly required: ["upload", "uri"]; readonly additionalProperties: false; }; }; readonly required: ["data"]; readonly additionalProperties: false; }; }; }; }; }; }; }; readonly '/branches/{branch}/apis/{filename}': { readonly get: { readonly operationId: "getAPI"; readonly summary: "Get an API definition"; readonly tags: ["APIs"]; readonly description: "Get an API definition from your ReadMe project.\n\n>📘\n> This route is only available to projects that are using [ReadMe Refactored](https://docs.readme.com/main/docs/welcome-to-readme-refactored).\n\n>🚧 ReadMe's API v2 is currently in beta.\n >This API and its documentation are a work in progress. While we don't expect any major breaking changes, you may encounter occasional issues as we work toward a stable release. Make sure to [check out our API migration guide](https://docs.readme.com/main/reference/api-migration-guide), and [feel free to reach out](mailto:support@readme.io) if you have any questions or feedback!"; readonly parameters: [{ readonly schema: { readonly type: "string"; readonly pattern: "(([a-z0-9-_ ]|[^\\\\x00-\\\\x7F])+.(json|yaml|yml))"; }; readonly in: "path"; readonly name: "filename"; readonly required: true; readonly description: "The filename of the API definition to retrieve."; }, { readonly schema: { readonly type: "string"; readonly pattern: "(v{0,1})(stable|([0-9]+)(?:\\.([0-9]+))?(?:\\.([0-9]+))?(-.*)?)(_(.*))?"; }; readonly in: "path"; readonly name: "branch"; readonly required: true; readonly description: "Project version number, `stable` for your project's stable version, or a valid branch name."; }]; readonly responses: { readonly '200': { readonly description: "OK"; readonly content: { readonly 'application/json': { readonly schema: { readonly type: "object"; readonly properties: { readonly data: { readonly type: "object"; readonly properties: { readonly created_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API definition was created."; }; readonly filename: { readonly type: "string"; readonly description: "This is the unique identifier, its filename, for the API definition."; }; readonly source: { readonly type: "object"; readonly properties: { readonly current: { readonly type: "string"; readonly enum: ["api", "apidesigner", "apieditor", "bidi", "form", "postman", "rdme", "rdme_github", "url"]; }; readonly original: { readonly type: "string"; readonly enum: ["api", "apidesigner", "apieditor", "bidi", "form", "postman", "rdme", "rdme_github", "url"]; }; }; readonly required: ["current", "original"]; readonly additionalProperties: false; readonly description: "The sources by which this API definition was ingested."; }; readonly type: { readonly type: "string"; readonly enum: ["openapi", "postman", "swagger", "unknown"]; readonly description: "The type of API definition. This will be `unknown` if the API definition has either not yet been processed or failed with validation errors."; }; readonly updated_at: { readonly type: "string"; readonly format: "date-time"; readonly description: "An ISO 8601 formatted date for when the API definition was last updated."; }; readonly upload: { readonly type: "object"; readonly properties: { readonly status: { readonly type: "string"; readonly enum: ["pending", "failed", "done", "pending_update", "failed_update"]; readonly description: "The status of the API definition upload."; }; readonly reason: { readonly type: "string"; readonly nullable: true; readonly description: "The reason for the upload failure if it failed."; }; readonly warnings: { readonly type: "string"; readonly nullable: true; readonly description: "Any fixable warnings that may exist within the API definition if the upload was ingested without errors."; }; }; readonly required: ["status", "reason", "warnings"]; readonly additionalProperties: false; }; readonly uri: { readonly type: "string"; readonly pattern: "\\/(versions|branches)\\/((v{0,1})(stable|([0-9]+)(?:\\.([0-9]+))?(?:\\.([0-9]+))?(-.*)?)(_(.*))?)\\/apis\\/((([a-z0-9-_ ]|[^\\\\x00-\\\\x7F])+.(json|yaml|yml)))"; readonly description: "A URI to the API definition resource."; }; readonly schema: { readonly type: "object"; readonly additionalProperties: {}; readonly description: "The API schema."; }; }; readonly required: ["created_at", "filename", "source", "type", "updated_at", "upload", "uri", "schema"]; readonly additionalProperties: false; }; }; readonly required: ["data"]; readonly additionalProperties: false; }; }; }; }; }; }; readonly delete: { readonly operationId: "deleteAPI";