Nuvemshop / Tiendanube Store API

Store settings and metadata.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nuvemshop-store-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nuvemshop-store-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Nuvemshop / Tiendanube Admin Categories Store API
  description: 'Store-scoped REST Admin API for the Nuvemshop (Tiendanube) e-commerce platform. This document models a grounded, representative subset of the public API - products, product variants, product images, categories, orders, customers, coupons, webhooks, scripts, and store - as documented at https://tiendanube.github.io/api-documentation/.


    Every path is relative to a per-store base that embeds the store id, for example `https://api.tiendanube.com/2025-03/{store_id}`. The Brazilian mirror `https://api.nuvemshop.com.br/2025-03/{store_id}` serves the same API, and the long-standing `v1` path (`https://api.tiendanube.com/v1/{store_id}`) remains available as the legacy equivalent.


    Authentication is OAuth 2 (authorization code grant). The resulting non-expiring access token is sent in a NON-STANDARD header named `Authentication` with a lowercase `bearer` prefix (`Authentication: bearer ACCESS_TOKEN`) - using `Authorization` or a different case returns 401. Every request must also send a descriptive `User-Agent` header identifying the app and a contact (name/email or URL); omitting it returns 400.


    NOTE ON MODELING: endpoint paths, methods, and the auth/header/rate-limit behavior below are grounded in the live documentation. Request and response body schemas are simplified representative models (marked with additionalProperties) rather than the provider''s full field-level schema.'
  version: 2025-03
  contact:
    name: Nuvemshop / Tiendanube Developers
    url: https://tiendanube.github.io/api-documentation/
  license:
    name: MIT (documentation)
    url: https://github.com/TiendaNube
servers:
- url: https://api.tiendanube.com/2025-03/{store_id}
  description: Tiendanube (Spanish-speaking markets)
  variables:
    store_id:
      default: '0'
      description: The numeric store id (user_id) returned during OAuth authorization.
- url: https://api.nuvemshop.com.br/2025-03/{store_id}
  description: Nuvemshop (Brazil)
  variables:
    store_id:
      default: '0'
      description: The numeric store id (user_id) returned during OAuth authorization.
security:
- authenticationHeader: []
tags:
- name: Store
  description: Store settings and metadata.
paths:
  /store:
    get:
      operationId: getStore
      tags:
      - Store
      summary: Get the store
      description: Receive the authenticated store's settings and metadata.
      parameters:
      - name: fields
        in: query
        required: false
        description: Comma-separated list of fields to return.
        schema:
          type: string
      responses:
        '200':
          description: The store.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Store'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    LocalizedString:
      type: object
      description: A map of language code to localized text (e.g. {"es":"...","pt":"..."}).
      additionalProperties:
        type: string
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
        description:
          type: string
      additionalProperties: true
    Store:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          $ref: '#/components/schemas/LocalizedString'
        description:
          $ref: '#/components/schemas/LocalizedString'
        url_with_protocol:
          type: string
          format: uri
        country:
          type: string
        main_currency:
          type: string
        main_language:
          type: string
        email:
          type: string
          format: email
      additionalProperties: true
  responses:
    Unauthorized:
      description: Missing or malformed `Authentication` header, or invalid token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    authenticationHeader:
      type: apiKey
      in: header
      name: Authentication
      description: 'NON-STANDARD auth header. Send the OAuth 2 access token as `Authentication: bearer ACCESS_TOKEN` - the header name must be `Authentication` (not `Authorization`) and the `bearer` prefix must be lowercase, or the API returns 401. A descriptive `User-Agent` header is also required on every request.'