Tapcart · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Tapcart App Studio Development API

17 actions 17 updates documentation extends openapi/tapcart-client-api-openapi-original.json
Generated by API Evangelist Written by API Evangelist tooling for Tapcart's API. It is a proposal applied on top of the contract, not a document Tapcart publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-auth-levelx-apievangelist-notex-apievangelist-profilex-apievangelist-reviewedx-providerx-docsx-source-spec

Targets 17 · first 16 shown; the file carries all of them

$.info
$.tags
$.paths['/client/components'].post
$.paths['/client/components/{componentId}'].put
$.paths['/client/{appId}/components/{componentKey}'].get
$.paths['/client/{appId}/components'].get
$.paths['/client/{appId}/components/{componentKey}/versions'].get
$.paths['/client/{appId}/components/{componentKey}/versions'].put
$.paths['/client/blockTemplates'].post
$.paths['/client/blockTemplates/{blockTemplateId}'].put
$.paths['/client/{appId}/blockTemplates/{blockTemplateId}/versions'].put
$.paths['/client/{appId}/blockTemplates/{blockTemplateId}'].get
$.paths['/client/{appId}/blocks'].get
$.paths['/client/{appId}/dependencies'].post
$.paths['/client/{appId}/dependencies'].get
$.paths['/client/{appId}/layouts'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Tapcart App Studio Development API
  version: 1.0.0
extends: openapi/tapcart-client-api-openapi-original.json
x-generated: '2026-08-05'
x-method: generated
x-source: >-
  Derived from the provider's published OpenAPI (harvested from the ReadMe
  developer portal SSR payload at
  https://dev.tapcart.com/reference/post_client-components) plus the Tapcart
  developer docs. This overlay carries API Evangelist's annotations only; the
  harvested spec is never mutated. The single highest-value change a consumer
  of this overlay should note is that the source spec declares NO operationIds
  — the operationId actions below propose stable ids so downstream tooling
  (Arazzo, SDK generators, the MCP tool crosswalk) can address operations by
  name. They are API Evangelist proposals, not provider-published identifiers.
actions:
  - target: $.info
    update:
      x-apievangelist-profile: https://apis.io/provider/tapcart
      x-apievangelist-reviewed: '2026-08-05'
      x-provider: Tapcart
      x-docs: https://dev.tapcart.com/reference
      x-source-spec: tapcart-client-api.json
      x-source-note: >-
        Tapcart registers two OpenAPI documents on its ReadMe project —
        tapcart-client-api.json (this one, published to the reference section)
        and tapcart-api-services.json (registered but with no published
        reference pages). Only the published one could be harvested.
  - target: $.tags
    update:
      - name: Development API - Components
        description: Create, read, version and promote App Studio Components for an app.
      - name: Development API - Block Templates
        description: Create, read, version and promote reusable BlockTemplates.
      - name: Development API - Blocks
        description: Read merchant-owned custom block templates for an app.
      - name: Development API - Dependencies
        description: Read and update an app's ESM dependency list (resolved through esm.sh).
      - name: Development API - Layouts
        description: Read the layouts configured for an app.
  - target: $.paths['/client/components'].post
    update:
      operationId: createAppStudioComponent
      x-apievangelist-note: Upserts when forceUpdate is true. No idempotency key is supported; a bare retry is not defined.
      x-auth-level: write
  - target: $.paths['/client/components/{componentId}'].put
    update:
      operationId: updateAppStudioComponent
      x-auth-level: write
  - target: $.paths['/client/{appId}/components/{componentKey}'].get
    update:
      operationId: getAppStudioComponentByKey
      x-auth-level: write
  - target: $.paths['/client/{appId}/components'].get
    update:
      operationId: listAppStudioComponents
      x-auth-level: write
      x-apievangelist-note: Unpaginated collection read.
  - target: $.paths['/client/{appId}/components/{componentKey}/versions'].get
    update:
      operationId: listAppStudioComponentVersions
      x-auth-level: write
  - target: $.paths['/client/{appId}/components/{componentKey}/versions'].put
    update:
      operationId: setAppStudioComponentVersion
      x-auth-level: write
      x-apievangelist-note: Promotes a stored version to live by setting its version index.
  - target: $.paths['/client/blockTemplates'].post
    update:
      operationId: createBlockTemplate
      x-auth-level: write
  - target: $.paths['/client/blockTemplates/{blockTemplateId}'].put
    update:
      operationId: updateBlockTemplate
      x-auth-level: write
  - target: $.paths['/client/{appId}/blockTemplates/{blockTemplateId}/versions'].put
    update:
      operationId: setBlockTemplateVersion
      x-auth-level: write
  - target: $.paths['/client/{appId}/blockTemplates/{blockTemplateId}'].get
    update:
      operationId: getBlockTemplate
      x-auth-level: read
  - target: $.paths['/client/{appId}/blocks'].get
    update:
      operationId: listBlocks
      x-auth-level: read
      x-apievangelist-note: Unpaginated collection read.
  - target: $.paths['/client/{appId}/dependencies'].post
    update:
      operationId: updateAppDependencies
      x-auth-level: write
  - target: $.paths['/client/{appId}/dependencies'].get
    update:
      operationId: getAppDependencies
      x-auth-level: read
  - target: $.paths['/client/{appId}/layouts'].get
    update:
      operationId: listAppLayouts
      x-auth-level: read
  - target: $.components.schemas.ResponseMsg
    update:
      description: >-
        A bare message envelope. Defined in the source spec but not referenced
        by any declared response — the actual error body shape is undocumented.
        See errors/tapcart-problem-types.yml.