// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import { APIPromise } from '../../core/api-promise'; import { RequestOptions } from '../../internal/request-options'; /** * Custom objects defined by the company */ export class Schema extends APIResource { /** * Return the JSON schema for one supported metadata component type. * * Requires the Metadata entitlement. * * @example SDK usage * ```ts * const schema = await client.metadata.schema.get({ * type: 'type', * }); * ``` * * @example HTTP * Representative request and response shapes. * ``` * GET /metadata/schema/?type=type HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "type": "string", * "display_name": "string", * "description": "string", * "config_schema": {}, * "identifier_schema": {}, * "usage_guide": "string", * "examples": [ * {} * ], * "common_mistakes": [ * { * "wrong": "string", * "right": "string", * "message": "string" * } * ], * "best_practices": "string" * } * ``` */ get(query: SchemaGetParams, options?: RequestOptions): APIPromise { return this._client.get('/metadata/schema/', { query, ...options }); } } export interface SchemaGetResponse { /** * JSON Schema for a full deployable component config. */ config_schema: { [key: string]: unknown }; /** * JSON Schema for identifying an existing component. */ identifier_schema: { [key: string]: unknown }; /** * Metadata component type. */ type: string; /** * Type-specific implementation guidance. */ best_practices?: string; /** * Common invalid inputs and their corrections. */ common_mistakes?: Array; /** * Short description of the component type. */ description?: string; /** * Human-readable component type name. */ display_name?: string; /** * Valid example configs for this component type. */ examples?: Array<{ [key: string]: unknown }>; /** * Type-specific authoring guidance. */ usage_guide?: string; [k: string]: unknown; } export namespace SchemaGetResponse { export interface CommonMistake { /** * Explanation of the correction. */ message: string; /** * Corrected example. */ right: string; /** * Invalid or discouraged example. */ wrong: string; } } export interface SchemaGetParams { /** * Component type returned by list-metadata-types. */ type: string; } export declare namespace Schema { export { type SchemaGetResponse as SchemaGetResponse, type SchemaGetParams as SchemaGetParams }; }