openapi: 3.0.3 info: title: Tiendanube / Nuvemshop Categories Webhooks 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: Webhooks paths: /webhooks: get: operationId: listWebhooks tags: - Webhooks summary: List webhooks responses: '200': description: A list of webhook subscriptions. content: application/json: schema: type: array items: $ref: '#/components/schemas/Webhook' post: operationId: createWebhook tags: - Webhooks summary: Create a webhook description: Subscribe to a store event. Deliveries are HTTP POST callbacks signed with HMAC-SHA256 in the x-linkedstore-hmac-sha256 header. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WebhookInput' responses: '201': description: Webhook created. content: application/json: schema: $ref: '#/components/schemas/Webhook' /webhooks/{id}: parameters: - $ref: '#/components/parameters/Id' delete: operationId: deleteWebhook tags: - Webhooks summary: Delete a webhook responses: '200': description: Webhook deleted. components: schemas: WebhookInput: type: object required: - url - event properties: url: type: string format: uri event: type: string description: Event to subscribe to, e.g. order/created, order/paid, product/created, product/updated, app/uninstalled, customer/created. Webhook: type: object properties: id: type: integer url: type: string format: uri event: type: string example: order/created created_at: type: string format: date-time parameters: 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.'