Envia.com Webhooks API

The Webhooks API from Envia.com — 4 operation(s) for webhooks.

Operations 5

GET /webhook-types Get webhook types #
GET /webhooks All webhooks Available #
POST /webhooks Create webhook #
PUT /webhooks/{webhook_id} Update webhook #
POST /ship/webhooktest/ Test a Webhook Endpoint #

Specifications

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/envia:envia-webhooks-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

envia-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Envia Webhooks API
  contact:
    name: Envia API Support
    url: https://docs.envia.com/discuss
  license:
    name: Proprietary
    url: https://www.envia.com/terminos-y-condiciones
  termsOfService: https://www.envia.com/terminos-y-condiciones
  version: '1.0'
  description: 'Operations tagged Webhooks across 2 of this provider''s published API definitions: envia-queries-api-openapi.yml, envia-shipping-api-complete-documentation-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://queries.test.envia.com/
  description: Sandbox/Test
- url: https://queries.envia.com/
  description: Production
- url: https://api-test.envia.com
  description: Sandbox/Test
- url: https://api.envia.com
  description: Production
security:
- bearerAuth: []
tags:
- name: Webhooks
paths:
  /webhook-types:
    get:
      tags:
      - Webhooks
      summary: Get webhook types
      description: Retrieve webhook types. Requires Bearer JWT authentication.
      operationId: webhook-types
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                          default: 0
                        name:
                          type: string
                          example: onShipmentStatusUpdate
                        description:
                          type: string
                          example: On shipment status update
                        test_response:
                          type: object
                          properties:
                            carrierName:
                              type: string
                              example: fedex
                            trackingNumber:
                              type: string
                              example: '100000'
                            status:
                              type: string
                              example: Delivered
                required:
                - data
              examples:
                OK:
                  summary: OK
                  value:
                    data:
                    - id: 1
                      name: onShipmentStatusUpdate
                      description: On shipment status update
                      test_response:
                        carrierName: fedex
                        trackingNumber: '100000'
                        status: Delivered
                    - id: 2
                      name: statusUpdateWithEcommerceInfo
                      description: On shipment status update with Ecommerce Info
                      test_response:
                        carrierName: Paquetexpress
                        trackingNumber: '123456789'
                        status: Delivered
                        movementDate: null
                        orderData:
                          shopId: 12345
                          orderIdentifier: 2345678923456-1
                          orderNumber: '2345678923456'
                          orderName: '923456'
                    - id: 3
                      name: simpleTracking
                      description: v2 of on shipment status update
                      test_response: ''
                    - id: 4
                      name: ecommerceTracking
                      description: v2 of on shipment status update with Ecommerce Info
                      test_response: ''
                    - id: 5
                      name: surcharge
                      description: Notification when a new surcharge is applied
                      test_response: ''
      parameters: []
    servers:
    - url: https://queries.test.envia.com/
      description: Sandbox/Test
    - url: https://queries.envia.com/
      description: Production
  /webhooks:
    get:
      tags:
      - Webhooks
      summary: All webhooks Available
      description: 'Returns all webhook subscriptions registered under your account. You can optionally filter by active status to see only enabled or disabled webhooks.


        **When to use:** Call this endpoint to display the user''s webhook configuration dashboard, verify that webhooks are correctly registered before going to production, or audit which event subscriptions are currently active.


        **Prerequisites:**

        - Valid JWT token in the Authorization header


        **Key behaviors:**

        - Returns an array of webhook objects, each containing `id`, `type`, `url`, and `active` status

        - Use the optional `active` query parameter to filter: `1` returns only active webhooks, `0` returns only inactive ones; omitting the parameter returns all webhooks

        - The `type` field indicates the event category (e.g., shipment created, tracking update); use `GET /webhook-types` to see all available types

        - The webhook `id` returned can be used with `PUT /webhooks/{webhook_id}` to update the configuration'
      operationId: all-webhooks
      parameters:
      - name: active
        in: query
        description: Filter by active status
        required: false
        schema:
          type: integer
          enum:
          - 0
          - 1
      responses:
        '200':
          description: Webhooks retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: Webhook ID
                        type:
                          type: string
                          description: Webhook type
                        url:
                          type: string
                          description: Webhook URL
                        active:
                          type: integer
                          description: Active status (0 or 1)
    post:
      tags:
      - Webhooks
      summary: Create webhook
      description: 'Creates a new webhook subscription that will send HTTP POST notifications to your specified URL whenever the selected event type occurs (e.g., shipment created, tracking status updated).


        **When to use:** Call this endpoint when setting up event-driven integrations, such as notifying your system when a shipment status changes, triggering order fulfillment workflows, or keeping external dashboards in sync with Envia events.


        **Prerequisites:**

        - Valid JWT token in the Authorization header

        - A `type_id` identifying the webhook event type (retrieve available types from `GET /webhook-types`)

        - A publicly accessible `url` that can receive HTTP POST requests from Envia servers

        - An `active` flag (`1` to enable immediately, `0` to create in disabled state)


        **Key behaviors:**

        - The `url` must be a valid, publicly reachable HTTPS endpoint; Envia will send JSON payloads via POST to this URL

        - Set `active` to `0` to create the webhook in a disabled state for testing before enabling it

        - Returns the created webhook object with its assigned `id`, which can be used to update or deactivate it later via `PUT /webhooks/{webhook_id}`

        - Multiple webhooks can be registered for the same event type with different URLs'
      operationId: create-webhook
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - type_id
              - url
              - active
              properties:
                type_id:
                  type: integer
                  description: Webhook type ID
                  example: 3
                url:
                  type: string
                  format: uri
                  description: Webhook URL
                  example: https://your-store.com/webhooks/envia
                active:
                  type: integer
                  enum:
                  - 0
                  - 1
                  description: Active status (0 = inactive, 1 = active)
                  example: 1
            example:
              type_id: 1
              url: https://test-url.com
              active: 1
      responses:
        '200':
          description: Webhook created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: string
                    default: webhook_created
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Created webhook ID
                      type:
                        type: string
                        description: Webhook type
                      url:
                        type: string
                        description: Webhook URL
                      active:
                        type: integer
                        description: Active status
    servers:
    - url: https://queries.test.envia.com/
      description: Sandbox/Test
    - url: https://queries.envia.com/
      description: Production
  /webhooks/{webhook_id}:
    put:
      tags:
      - Webhooks
      summary: Update webhook
      description: Update webhooks for the specified webhook id. Requires Bearer JWT authentication.
      operationId: update-webhook
      parameters:
      - name: webhook_id
        in: path
        required: true
        description: Webhook ID
        schema:
          type: integer
          example: 123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: Webhook URL
                  example: https://your-store.com/webhooks/envia
                events:
                  type: array
                  description: Events to listen for
                  example:
                  - shipment_created
                  - shipment_delivered
                  - shipment_in_transit
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates if the request was successful
                  data:
                    type: object
                    description: Updated webhook information
    servers:
    - url: https://queries.test.envia.com/
      description: Sandbox/Test
    - url: https://queries.envia.com/
      description: Production
  /ship/webhooktest/:
    post:
      tags:
      - Webhooks
      summary: Test a Webhook Endpoint
      description: Send a simulated tracking event to your registered webhooks
      operationId: test-webhook-endpoint
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - carrier
              - trackingNumber
              - status
              properties:
                carrier:
                  type: string
                  description: Carrier name from the shipment (e.g. `fedex`, `dhl`, `estafeta`). Must match the carrier of the shipment associated with the provided tracking number.
                  example: fedex
                trackingNumber:
                  type: string
                  description: Tracking number of a shipment previously generated in your account. The shipment must belong to the authenticated company.
                  example: '1234567890'
                status:
                  type: string
                  description: 'Status name to simulate. Accepted values: `Delivered`, `Shipped`, `Canceled`, `Picked Up`. These values also update the shipment''s status record in non-production environments.'
                  enum:
                  - Shipped
                  - Delivered
                  - Canceled
                  - Picked Up
                  example: Delivered
      responses:
        '200':
          description: Webhook test triggered successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: string
                    description: Action name — always `webhookTest` for this endpoint
                    example: webhookTest
                  data:
                    type: object
                    properties:
                      message:
                        type: string
                        description: Result message
                        example: success
              examples:
                Success:
                  summary: Webhook test sent to registered URLs
                  value:
                    meta: webhookTest
                    data:
                      message: success
        '422':
          description: No active webhooks configured or shipment not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 1125
                      description:
                        type: string
                        example: Invalid Option
                      message:
                        type: string
                        example: The company has not webhooks configured
              examples:
                No webhooks:
                  summary: Account has no active webhook URLs registered
                  value:
                    meta: error
                    error:
                      code: 1125
                      description: Invalid Option
                      message: The company has not webhooks configured
                Shipment not found:
                  summary: Tracking number not found for this carrier in the account
                  value:
                    meta: error
                    error:
                      code: 1125
                      description: Invalid Option
                      message: Shipment not found with tracking number 1234567890.
    servers:
    - url: https://api-test.envia.com
      description: Sandbox/Test
    - url: https://api.envia.com
      description: Production
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Full Envia API Documentation
  url: https://docs.envia.com
x-refined-from:
- envia-queries-api-openapi.yml
- envia-shipping-api-complete-documentation-api-openapi.yml
x-provenance:
  method: searched
  source: https://docs.envia.com/reference
  harvested: '2026-10-27'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.envia.com/reference/locate-city.md
  - https://docs.envia.com/reference/validate-zip-code.md
  merge:
    pages: 2
    deduped: 0
    conflicts_kept_first: 0