openapi: 3.0.3 info: title: Tiendanube / Nuvemshop Categories Orders API description: Representative OpenAPI description of the Tiendanube (Nuvemshop) REST API for app partners. All requests are scoped to a single store via the {store_id} path segment, authenticated with an OAuth 2.0 access token sent in the Authentication header, and MUST include a descriptive User-Agent header identifying the app. The Brazil deployment mirrors this API at https://api.nuvemshop.com.br/v1/{store_id}. termsOfService: https://www.tiendanube.com/terminos-de-uso contact: name: Tiendanube Developers url: https://tiendanube.github.io/api-documentation/ version: '1.0' servers: - url: https://api.tiendanube.com/v1/{store_id} description: Tiendanube (Spanish-speaking Latin America) variables: store_id: default: '0' description: Numeric ID of the store the app is operating on. - url: https://api.nuvemshop.com.br/v1/{store_id} description: Nuvemshop (Brazil) variables: store_id: default: '0' description: Numeric ID of the store the app is operating on. security: - AuthenticationToken: [] tags: - name: Orders paths: /orders: get: operationId: listOrders tags: - Orders summary: List orders parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - name: status in: query schema: type: string enum: - any - open - closed - cancelled - name: payment_status in: query schema: type: string enum: - any - pending - authorized - paid - abandoned - refunded - voided - name: created_at_min in: query schema: type: string format: date-time responses: '200': description: A list of orders. content: application/json: schema: type: array items: $ref: '#/components/schemas/Order' /orders/{id}: parameters: - $ref: '#/components/parameters/Id' get: operationId: getOrder tags: - Orders summary: Get an order responses: '200': description: The order. content: application/json: schema: $ref: '#/components/schemas/Order' /orders/{id}/close: parameters: - $ref: '#/components/parameters/Id' post: operationId: closeOrder tags: - Orders summary: Close an order responses: '200': description: Order closed. content: application/json: schema: $ref: '#/components/schemas/Order' /orders/{id}/cancel: parameters: - $ref: '#/components/parameters/Id' post: operationId: cancelOrder tags: - Orders summary: Cancel an order responses: '200': description: Order cancelled. content: application/json: schema: $ref: '#/components/schemas/Order' components: schemas: Address: type: object properties: name: type: string address: type: string number: type: string floor: type: string nullable: true locality: type: string nullable: true city: type: string province: type: string country: type: string zipcode: type: string phone: type: string nullable: true Order: type: object properties: id: type: integer number: type: integer token: type: string status: type: string enum: - open - closed - cancelled payment_status: type: string enum: - pending - authorized - paid - abandoned - refunded - voided shipping_status: type: string enum: - unpacked - unfulfilled - fulfilled currency: type: string total: $ref: '#/components/schemas/Money' subtotal: $ref: '#/components/schemas/Money' customer: $ref: '#/components/schemas/Customer' products: type: array items: $ref: '#/components/schemas/OrderLineItem' shipping_address: $ref: '#/components/schemas/Address' billing_address: $ref: '#/components/schemas/Address' created_at: type: string format: date-time OrderLineItem: type: object properties: product_id: type: integer variant_id: type: integer name: type: string price: $ref: '#/components/schemas/Money' quantity: type: integer sku: type: string nullable: true Customer: type: object properties: id: type: integer name: type: string email: type: string format: email phone: type: string nullable: true identification: type: string nullable: true total_spent: $ref: '#/components/schemas/Money' total_spent_currency: type: string addresses: type: array items: $ref: '#/components/schemas/Address' default_address: $ref: '#/components/schemas/Address' created_at: type: string format: date-time Money: type: string description: Decimal amount serialized as a string, e.g. "199.90". parameters: Page: name: page in: query schema: type: integer default: 1 PerPage: name: per_page in: query schema: type: integer default: 30 maximum: 200 Id: name: id in: path required: true schema: type: integer securitySchemes: AuthenticationToken: type: apiKey in: header name: Authentication description: 'OAuth 2.0 access token obtained via the authorization-code flow, sent as "Authentication: bearer {access_token}". A descriptive User-Agent header is also required on every request.'