new-external-api-object

Add new API objects across evitaDB external APIs using descriptor inheritance and converters.

70|7|Updated Feb 22, 2023
One-click install
npx skills add https://github.com/FgForrest/evitaDB --skill new-external-api-object
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: new-external-api-object
Source: https://github.com/FgForrest/evitaDB/tree/main/.claude/skills/new-external-api-object
Command: npx skills add https://github.com/FgForrest/evitaDB --skill new-external-api-object

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

evitaDB exposes its responses through GraphQL, REST, and gRPC using a single API-independent model of descriptors. This skill provides a repeatable pattern to introduce new objects, variants, or polymorphic interfaces that must be surfaced by at least two of the three APIs while preserving backward compatibility.

Core Features & Use Cases

  • Descriptor-based API object definitions with inheritance and interfaces.
  • Consistent OpenAPI/GraphQL/GRPC exposure with proper interface wiring and converters.
  • Per-parameter object caches and builder patterns for scalable, type-safe API surfaces.
  • Backward-compat rules and extension patterns to avoid breaking existing clients.

Quick Start

Create a new external API object by following the descriptor-based workflow described above.

Frequently Asked Questions about new-external-api-object

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new external API object across GraphQL, REST, and gRPC without breaking existing clients?

To add a new external API object across multiple surfaces, use API-independent descriptors with proper inheritance and interface wiring. This pattern ensures consistent exposure via GraphQL, REST, and gRPC while applying backward-compat rules to avoid breaking existing clients.

What is the descriptor-based approach for surfacing polymorphic interfaces in external APIs?

The descriptor-based approach defines API-independent models that support inheritance and interfaces. These descriptors are then wired consistently into GraphQL, REST, and gRPC surfaces using specific converters, ensuring type-safe polymorphic exposure across at least two APIs.

How do I implement per-parameter caches and builder patterns for scalable API surfaces?

You implement per-parameter caches and builder patterns by following the descriptor-based workflow provided for new API objects. This approach ensures scalable and type-safe API surface generation across multiple external API endpoints.

When do I need to use descriptor inheritance for adding suffix variants to external APIs?

You need descriptor inheritance when introducing a suffix variant or a brand-new object that must be exposed via at least two of the three external APIs. Inheritance ensures the variant integrates correctly with interface wiring and per-API converters.

Does this approach provide converters for GraphQL and gRPC integration?

Yes, the pattern provides specific GraphQL and gRPC converters. These converters translate the API-independent descriptors into the respective API formats while enforcing backward-compatibility rules to maintain stable client interactions.

What are the limitations when introducing a new object to multiple API surfaces?

The primary constraint is maintaining backward compatibility. The new object, suffix variant, or polymorphic interface must be exposed via at least two APIs using the provided descriptor patterns to avoid breaking existing clients.