> ## Documentation Index
> Fetch the complete documentation index at: https://developers.cubbo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update your own store

> Partially updates the store bound to your credential. No store id is accepted: the store
is derived from the Open API integration credential used to obtain the token, so this
endpoint only works with a token issued from the credential returned by `POST /stores`
(or any other store-bound integration credential). Only the fields present in the body
are written; only the store's identity and fiscal fields can be edited.

- At least one editable field must be present, otherwise the request is rejected.
- `tax_regime` is case-insensitive and normalized to upper case; values outside the
  accepted set are rejected.
- `state` is normalized to upper case. For stores operating in Brazil it must be a valid
  two-letter UF code (for example `SP`); for other countries it is stored as sent.
- `invoice_customization` replaces the current value (no merge). Only known NF-e
  purposes are kept; a blank object, or one containing only unknown purposes, is treated
  as if the field was not sent and does not clear the existing customization.
- Unknown or non-editable fields (such as `account_id` or `store_type`) are silently
  ignored.




## OpenAPI

````yaml /openapi.yaml patch /store
openapi: 3.1.0
info:
  title: Cubbo Clients API
  version: '1.0'
  summary: >-
    Orders, inventory, replenishments, returns, shipping and webhooks for Cubbo
    fulfillment.
  description: >
    The Cubbo Clients API connects your store, ERP or marketplace with Cubbo's
    fulfillment network.

    All endpoints except `POST /auth/token` require a bearer token; see the
    Authentication guide.

    Request and response bodies are JSON. Errors are JSON objects with an
    `error` key.
  contact:
    name: Cubbo integrations
    email: integraciones@cubbo.com
servers:
  - url: https://api.cubbo.com/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Exchange client credentials for a bearer token.
  - name: Orders
    description: Create, update, hold, cancel and read sales orders.
  - name: Shipping labels
    description: Read the shipping labels generated for an order.
  - name: Inventory
    description: Products and stock per store.
  - name: Lots
    description: Lot-level inventory for products with expiration or batch tracking.
  - name: Reports
    description: Bulk reports for reconciliation.
  - name: Replenishments
    description: Inbound shipments to the warehouse.
  - name: Returns
    description: Returns and exchanges.
  - name: Stores
    description: Store provisioning and settings.
  - name: Shipping methods
    description: Available shipping methods, coverage and quotes.
  - name: Click and collect
    description: Pickup points and in-store pickup orders.
paths:
  /store:
    patch:
      tags:
        - Stores
      summary: Update your own store
      description: >
        Partially updates the store bound to your credential. No store id is
        accepted: the store

        is derived from the Open API integration credential used to obtain the
        token, so this

        endpoint only works with a token issued from the credential returned by
        `POST /stores`

        (or any other store-bound integration credential). Only the fields
        present in the body

        are written; only the store's identity and fiscal fields can be edited.


        - At least one editable field must be present, otherwise the request is
        rejected.

        - `tax_regime` is case-insensitive and normalized to upper case; values
        outside the
          accepted set are rejected.
        - `state` is normalized to upper case. For stores operating in Brazil it
        must be a valid
          two-letter UF code (for example `SP`); for other countries it is stored as sent.
        - `invoice_customization` replaces the current value (no merge). Only
        known NF-e
          purposes are kept; a blank object, or one containing only unknown purposes, is treated
          as if the field was not sent and does not clear the existing customization.
        - Unknown or non-editable fields (such as `account_id` or `store_type`)
        are silently
          ignored.
      operationId: updateStore
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreUpdateRequest'
            example:
              tax_company_name: Partner Store SP LTDA
              tax_address: Av. Paulista
              tax_address_number: '1000'
              tax_city: Sao Paulo
              state: SP
      responses:
        '200':
          description: Store updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Store'
              example:
                id: 4821
                name: Partner Store SP
                description: Store provisioned via API
                created_at: '2026-09-03T14:02:11.000Z'
                updated_at: '2026-09-03T14:05:47.000Z'
                tax_id: null
                invoice_customization: {}
                state: SP
                tax_regime: null
                tax_company_name: Partner Store SP LTDA
                tax_address: Av. Paulista
                tax_address_number: '1000'
                tax_address_neighborhood: null
                tax_city: Sao Paulo
                tax_zipcode: null
                tax_state_phone: null
                tax_state_registration: null
                store_type: ALL_SERVICES
        '401':
          description: Missing or invalid token, or the credential is not bound to a store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
              examples:
                invalidToken:
                  value:
                    error: Unauthorized
                    message: invalid token
                notBoundToStore:
                  value:
                    error: Unauthorized
                    message: credential is not bound to a store
        '422':
          description: Validation or business error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                noFields:
                  value:
                    error: no updatable fields provided
                invalidTaxRegime:
                  value:
                    error: >-
                      tax_regime must be one of: SIMPLES_NACIONAL, LUCRO_REAL,
                      LUCRO_PRESUMIDO.
                invalidState:
                  value:
                    error: state must be a two-letter Brazilian UF code (e.g. SP).
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    StoreUpdateRequest:
      type: object
      description: Send only the fields to change. At least one must be present.
      properties:
        name:
          type: string
          description: Store name
          example: Partner Store SP
        description:
          type: string
          description: Free-text description
          example: Store provisioned via API
        tax_id:
          type: string
          description: Store tax id (CNPJ in Brazil)
          example: '00000000000191'
        state:
          type: string
          description: >-
            State of the fiscal address. For stores in Brazil it must be a
            two-letter UF code; case-insensitive.
          example: SP
        tax_regime:
          type: string
          description: Brazilian tax regime; case-insensitive
          enum:
            - SIMPLES_NACIONAL
            - LUCRO_REAL
            - LUCRO_PRESUMIDO
          example: SIMPLES_NACIONAL
        tax_company_name:
          type: string
          description: Legal company name
          example: Partner Store SP LTDA
        tax_address:
          type: string
          description: Fiscal address street
          example: Av. Paulista
        tax_address_number:
          type: string
          description: Fiscal address number
          example: '1000'
        tax_address_neighborhood:
          type: string
          description: Fiscal address neighborhood
          example: Bela Vista
        tax_city:
          type: string
          description: Fiscal address city
          example: Sao Paulo
        tax_zipcode:
          type: string
          description: Fiscal address postal code
          example: 01310-100
        tax_state_registration:
          type: string
          description: State registration number (Inscricao Estadual)
          example: '123456789'
        tax_state_phone:
          type: string
          description: Phone registered with the state registration
          example: +55 11 0000-0000
        invoice_customization:
          type: object
          description: >-
            Advanced NF-e customization keyed by invoice purpose. Replaces the
            current value. Ask your Cubbo representative before using it.
          propertyNames:
            enum:
              - REPLENISHMENT_INVOICE
              - REPLENISHMENT_ADJUSTMENT_INVOICE
              - SYMBOLIC_RETURN_INVOICE
              - SALE_INVOICE
              - DONATION_INVOICE
              - REMOVE_STOCK_INVOICE
              - RETURN_INVOICE
              - DONATION_RETURN_INVOICE
              - SHIPPING
              - SHIPPING_RETURN
          additionalProperties:
            type: object
          example:
            SALE_INVOICE:
              operation_nature: Venda
    Store:
      type: object
      description: >-
        A store's identity and fiscal fields, as returned by the store-scoped
        endpoints
      properties:
        id:
          type: integer
          description: Store id
          example: 4821
        name:
          type: string
          description: Store name
          example: Partner Store SP
        description:
          type:
            - string
            - 'null'
          description: Free-text description
          example: Store provisioned via API
        created_at:
          type: string
          format: date-time
          description: Creation time
          example: '2026-09-03T14:02:11.000Z'
        updated_at:
          type: string
          format: date-time
          description: Last update time
          example: '2026-09-03T14:05:47.000Z'
        tax_id:
          type:
            - string
            - 'null'
          description: Store tax id (CNPJ in Brazil, digits only; RFC in Mexico)
          example: '00000000000191'
        invoice_customization:
          type:
            - object
            - 'null'
          description: Advanced NF-e customization keyed by invoice purpose (Brazil)
          additionalProperties:
            type: object
          example: {}
        state:
          type:
            - string
            - 'null'
          description: State of the store's fiscal address (two-letter UF code in Brazil)
          example: SP
        tax_regime:
          type:
            - string
            - 'null'
          description: Brazilian tax regime
          enum:
            - SIMPLES_NACIONAL
            - LUCRO_REAL
            - LUCRO_PRESUMIDO
            - null
          example: SIMPLES_NACIONAL
        tax_company_name:
          type:
            - string
            - 'null'
          description: Legal company name
          example: Partner Store SP LTDA
        tax_address:
          type:
            - string
            - 'null'
          description: Fiscal address street
          example: Av. Paulista
        tax_address_number:
          type:
            - string
            - 'null'
          description: Fiscal address number
          example: '1000'
        tax_address_neighborhood:
          type:
            - string
            - 'null'
          description: Fiscal address neighborhood
          example: Bela Vista
        tax_city:
          type:
            - string
            - 'null'
          description: Fiscal address city
          example: Sao Paulo
        tax_zipcode:
          type:
            - string
            - 'null'
          description: Fiscal address postal code
          example: 01310-100
        tax_state_phone:
          type:
            - string
            - 'null'
          description: Phone registered with the state registration
          example: +55 11 0000-0000
        tax_state_registration:
          type:
            - string
            - 'null'
          description: State registration number (Inscricao Estadual)
          example: '123456789'
        store_type:
          type: string
          description: Service model of the store
          enum:
            - ALL_SERVICES
            - PICK_AND_SHIP
            - DEMO_ALL_SERVICES
          example: ALL_SERVICES
    UnauthorizedError:
      type: object
      description: Body of every 401 response
      properties:
        error:
          type: string
          description: Always `Unauthorized`
          example: Unauthorized
        message:
          type: string
          description: Why the request was refused
          example: invalid token
      required:
        - error
        - message
    Error:
      type: object
      description: Error body returned by every failed request.
      required:
        - error
      properties:
        error:
          type: string
          description: >-
            Human-readable description of the failure. For `401` responses it is
            always `Unauthorized`.
          example: Parameter store_id is required
        message:
          type: string
          description: >-
            Present on `401` responses only; the reason the request was
            rejected.
          example: invalid token
        code:
          type:
            - string
            - 'null'
          description: >-
            Stable machine-readable code, present on some order, return and
            replenishment errors.
          example: ORDER_ALREADY_EXISTS
        context:
          type:
            - object
            - 'null'
          description: >-
            Extra data about the failure when available, for example the id of
            the conflicting order.
          additionalProperties: true
          example:
            order_id: 987654
  responses:
    InternalServerError:
      description: >-
        Unexpected error. Retry with backoff; if it persists, send the timestamp
        to Cubbo support.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 'unexpected error, timestamp: 1760000000'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Token returned by `POST /auth/token`, sent as `Authorization: Bearer
        <token>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.