Jumpseller Hooks API

The Hooks API from Jumpseller — 2 operation(s) for hooks.

GitHub OpenAPI

Operations 5

GET /hooks.json Retrieve all Hooks #
POST /hooks.json Create a new Hook #
GET /hooks/{id}.json Retrieve a single Hook #
PUT /hooks/{id}.json Update a Hook #
DELETE /hooks/{id}.json Delete an existing Hook #

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/jumpseller-com:jumpseller-com-hooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

jumpseller-com-hooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Jumpseller Com Hooks API
  version: 1.0.0
  x-logo:
    url: https://api.jumpseller.com/images/jumpseller-logo-full.svg
    altText: Jumpseller logo
    href: /
  description: 'Operations tagged Hooks across 2 of this provider''s published API definitions: jumpseller-com-openapi-openapi.json, jumpseller-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.jumpseller.com/v1
tags:
- name: Hooks
paths:
  /hooks.json:
    get:
      tags:
      - Hooks
      summary: Retrieve all Hooks
      security:
      - BasicAuthentication:
        - hooks
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - read_hooks
      parameters:
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/PageParam'
      responses:
        '200':
          description: An array of Hooks
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Hook'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/hooks.json"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/hooks.json'';

          $ch = curl_init($url);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

          curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);

          curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);

          $response = curl_exec($ch);

          curl_close($ch);

          echo $response;'
      - lang: Ruby
        label: Ruby
        source: 'require ''net/http''

          require ''json''


          uri = URI(''https://api.jumpseller.com/v1/hooks.json'')

          http = Net::HTTP.new(uri.host, uri.port)

          http.use_ssl = true


          request = Net::HTTP::Get.new(uri)

          request.basic_auth(''XXXXX'', ''YYYYY'')

          request[''Content-Type''] = ''application/json''


          response = http.request(request)

          puts JSON.parse(response.body)'
      - lang: Python
        label: Python
        source: "import requests\n\nresponse = requests.get(\n    'https://api.jumpseller.com/v1/hooks.json',\n    auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/hooks.json', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  }\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: getHooksJson
      x-operation-id-source: derived
    post:
      tags:
      - Hooks
      summary: Create a new Hook
      security:
      - BasicAuthentication:
        - hooks
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - write_hooks
      parameters: []
      requestBody:
        description: Hook parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookEdit'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hook'
        '404':
          description: Hook Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      x-codegen-request-body-name: body
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "curl -u XXXXX:YYYYY -X POST \"https://api.jumpseller.com/v1/hooks.json\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"hook\": {\"event\": \"order_updated\", \"url\": \"https://example.com\"}}'"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/hooks.json'';

          $ch = curl_init($url);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

          curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);

          curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);

          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ''POST'');

          curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([''hook'' => [''event'' => ''order_updated'', ''url'' => ''https://example.com'']]));

          $response = curl_exec($ch);

          curl_close($ch);

          echo $response;'
      - lang: Ruby
        label: Ruby
        source: 'require ''net/http''

          require ''json''


          uri = URI(''https://api.jumpseller.com/v1/hooks.json'')

          http = Net::HTTP.new(uri.host, uri.port)

          http.use_ssl = true


          request = Net::HTTP::Post.new(uri)

          request.basic_auth(''XXXXX'', ''YYYYY'')

          request[''Content-Type''] = ''application/json''

          request.body = { hook: { event: ''order_updated'', url: ''https://example.com'' } }.to_json


          response = http.request(request)

          puts JSON.parse(response.body)'
      - lang: Python
        label: Python
        source: "import requests\n\nresponse = requests.post(\n    'https://api.jumpseller.com/v1/hooks.json',\n    auth=('XXXXX', 'YYYYY'),\n    json={'hook': {'event': 'order_updated', 'url': 'https://example.com'}}\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/hooks.json', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\"hook\": {\"event\": \"order_updated\", \"url\": \"https://example.com\"}})\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: postHooksJson
      x-operation-id-source: derived
    servers:
    - url: https://api.jumpseller.com/v1
  /hooks/{id}.json:
    get:
      tags:
      - Hooks
      summary: Retrieve a single Hook
      security:
      - BasicAuthentication:
        - hooks
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - read_hooks
      parameters:
      - name: id
        in: path
        description: Id of the Hook
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hook'
        '404':
          description: Hook Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/hooks/123.json"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/hooks/123.json'';

          $ch = curl_init($url);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

          curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);

          curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);

          $response = curl_exec($ch);

          curl_close($ch);

          echo $response;'
      - lang: Ruby
        label: Ruby
        source: 'require ''net/http''

          require ''json''


          uri = URI(''https://api.jumpseller.com/v1/hooks/123.json'')

          http = Net::HTTP.new(uri.host, uri.port)

          http.use_ssl = true


          request = Net::HTTP::Get.new(uri)

          request.basic_auth(''XXXXX'', ''YYYYY'')

          request[''Content-Type''] = ''application/json''


          response = http.request(request)

          puts JSON.parse(response.body)'
      - lang: Python
        label: Python
        source: "import requests\n\nresponse = requests.get(\n    'https://api.jumpseller.com/v1/hooks/123.json',\n    auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/hooks/123.json', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  }\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: getHooks{id}Json
      x-operation-id-source: derived
    put:
      tags:
      - Hooks
      summary: Update a Hook
      security:
      - BasicAuthentication:
        - hooks
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - write_hooks
      parameters:
      - name: id
        in: path
        description: Id of the Hook
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: Hook parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HookEdit'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hook'
        '404':
          description: Hook Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      x-codegen-request-body-name: body
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "curl -u XXXXX:YYYYY -X PUT \"https://api.jumpseller.com/v1/hooks/123.json\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"hook\": {\"event\": \"order_updated\", \"url\": \"https://example.com\"}}'"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/hooks/123.json'';

          $ch = curl_init($url);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

          curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);

          curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);

          curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ''PUT'');

          curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([''hook'' => [''event'' => ''order_updated'', ''url'' => ''https://example.com'']]));

          $response = curl_exec($ch);

          curl_close($ch);

          echo $response;'
      - lang: Ruby
        label: Ruby
        source: 'require ''net/http''

          require ''json''


          uri = URI(''https://api.jumpseller.com/v1/hooks/123.json'')

          http = Net::HTTP.new(uri.host, uri.port)

          http.use_ssl = true


          request = Net::HTTP::Put.new(uri)

          request.basic_auth(''XXXXX'', ''YYYYY'')

          request[''Content-Type''] = ''application/json''

          request.body = { hook: { event: ''order_updated'', url: ''https://example.com'' } }.to_json


          response = http.request(request)

          puts JSON.parse(response.body)'
      - lang: Python
        label: Python
        source: "import requests\n\nresponse = requests.put(\n    'https://api.jumpseller.com/v1/hooks/123.json',\n    auth=('XXXXX', 'YYYYY'),\n    json={'hook': {'event': 'order_updated', 'url': 'https://example.com'}}\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/hooks/123.json', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\"hook\": {\"event\": \"order_updated\", \"url\": \"https://example.com\"}})\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: putHooks{id}Json
      x-operation-id-source: derived
    delete:
      tags:
      - Hooks
      summary: Delete an existing Hook
      security:
      - BasicAuthentication:
        - hooks
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - write_hooks
      parameters:
      - name: id
        in: path
        description: Id of the Hook
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        '404':
          description: Hook Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: curl -u XXXXX:YYYYY -X DELETE "https://api.jumpseller.com/v1/hooks/123.json"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/hooks/123.json'';

          $ch = curl_init($url);

          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

          curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);

          curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);

          $response = curl_exec($ch);

          curl_close($ch);

          echo $response;'
      - lang: Ruby
        label: Ruby
        source: 'require ''net/http''

          require ''json''


          uri = URI(''https://api.jumpseller.com/v1/hooks/123.json'')

          http = Net::HTTP.new(uri.host, uri.port)

          http.use_ssl = true


          request = Net::HTTP::Delete.new(uri)

          request.basic_auth(''XXXXX'', ''YYYYY'')

          request[''Content-Type''] = ''application/json''


          response = http.request(request)

          puts JSON.parse(response.body)'
      - lang: Python
        label: Python
        source: "import requests\n\nresponse = requests.delete(\n    'https://api.jumpseller.com/v1/hooks/123.json',\n    auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/hooks/123.json', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  }\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: deleteHooks{id}Json
      x-operation-id-source: derived
    servers:
    - url: https://api.jumpseller.com/v1
components:
  parameters:
    PageParam:
      name: page
      in: query
      description: List page
      schema:
        type: integer
        format: integer
        default: 1
    LimitParam:
      name: limit
      in: query
      description: List restriction
      schema:
        maximum: 100
        type: integer
        format: integer
        default: 50
  schemas:
    Hook:
      type: object
      properties:
        hook:
          $ref: '#/components/schemas/HookFields'
    HookEdit:
      type: object
      properties:
        hook:
          $ref: '#/components/schemas/HookEditFields'
    HookFields:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the Hook
          format: int32
        name:
          type: string
          description: Hook name
        event:
          type: string
          description: Event associated with Hook
        url:
          type: string
          description: Hook URL to be notified
        created_at:
          type: string
          description: Hook creation date
    NotFound:
      type: object
      properties:
        message:
          type: string
    HookEditFields:
      required:
      - event
      - url
      type: object
      properties:
        event:
          type: string
          description: Event associated with Hook
          enum:
          - order_updated
          - order_pending_payment
          - order_paid
          - order_shipped
          - order_canceled
          - order_abandoned
          - product_created
          - product_updated
          - product_deleted
          - product_stock_updated
          - customer_created
          - customer_updated
          - customer_deleted
        url:
          type: string
          description: Hook URL to be notified
    MessageObject:
      type: object
      properties:
        message:
          type: string
    HookUpdateFields:
      required:
      - event
      type: object
      properties:
        name:
          type: string
          description: Hook name
        event:
          type: string
          description: Event associated with Hook. Always required, even when not changing it.
          enum:
          - order_updated
          - order_pending_payment
          - order_paid
          - order_shipped
          - order_canceled
          - order_abandoned
          - order_pickup_available
          - order_in_preparation
          - product_created
          - product_updated
          - product_deleted
          - product_stock_updated
          - customer_created
          - customer_updated
          - customer_deleted
          - contact
          - subscription_created
          - subscription_updated
          - subscription_canceled
        url:
          type: string
          description: Hook URL to be notified. It must use https.
        enabled:
          type: boolean
          description: Set to false to pause the Hook
    HookFields_2:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the Hook
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Hook name
        event:
          type: string
          description: Event associated with Hook
          enum:
          - order_updated
          - order_pending_payment
          - order_paid
          - order_shipped
          - order_canceled
          - order_abandoned
          - order_pickup_available
          - order_in_preparation
          - product_created
          - product_updated
          - product_deleted
          - product_stock_updated
          - customer_created
          - customer_updated
          - customer_deleted
          - contact
          - subscription_created
          - subscription_updated
          - subscription_canceled
        url:
          type: string
          description: Hook URL to be notified
        created_at:
          type: string
          format: date-time
          description: Hook creation date
        application_id:
          type:
          - integer
          - 'null'
          description: Id of the OAuth application that created the Hook
    HookEditFields_2:
      required:
      - event
      - url
      type: object
      properties:
        name:
          type: string
          description: Hook name
        event:
          type: string
          description: Event associated with Hook
          enum:
          - order_updated
          - order_pending_payment
          - order_paid
          - order_shipped
          - order_canceled
          - order_abandoned
          - order_pickup_available
          - order_in_preparation
          - product_created
          - product_updated
          - product_deleted
          - product_stock_updated
          - customer_created
          - customer_updated
          - customer_deleted
          - contact
          - subscription_created
          - subscription_updated
          - subscription_canceled
        url:
          type: string
          description: Hook URL to be notified. It must use https and be reachable when the Hook is saved.
    HookUpdate:
      type: object
      properties:
        hook:
          $ref: '#/components/schemas/HookUpdateFields'
  securitySchemes:
    BasicAuthentication:
      type: http
      scheme: basic
      description: Basic authentication in the format of `login:authtoken` or `partner_code:auth_token`.
    loginParameter:
      type: apiKey
      in: query
      name: login
      description: API OAuth login. Learn how to get yours [here](#section/Authentication).
    authtokenParameter:
      type: apiKey
      in: query
      name: authtoken
      description: API OAuth token. Learn how to get yours [here](#section/Authentication).
    auth_tokenParameter:
      type: apiKey
      in: query
      name: auth_token
      description: Partner authentication token.
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authorization code flow. Register your app at the Jumpseller Admin Panel to get client credentials. See https://jumpseller.com/support/oauth-2/ for details.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.jumpseller.com/oauth/authorize
          tokenUrl: https://accounts.jumpseller.com/oauth/token
          refreshUrl: https://accounts.jumpseller.com/oauth/token
          scopes:
            read_products: Read products, variants, images, options, and custom fields
            write_products: Create, update, and delete products
            read_orders: Read orders, fulfillments, and order history
            write_orders: Create, update, and refund orders
            read_customers: Read customer accounts and groups
            write_customers: Create, update, and delete customers
            read_categories: Read product categories
            write_categories: Create, update, and delete categories
            read_store: Read store information and settings
            write_store: Update store settings
            read_settings: Read store configuration
            write_settings: Update store configuration
            read_shipping_methods: Read shipping methods and rates
            write_shipping_methods: Create and update shipping methods
            read_payment_methods: Read payment methods
            write_payment_methods: Create and update payment methods
            read_hooks: Read webhooks
            write_hooks: Create, update, and delete webhooks
            read_promotions: Read promotions and discounts
            write_promotions: Create, update, and delete promotions
            read_taxes: Read tax rules
            write_taxes: Create and update tax rules
            read_pages: Read store pages
            write_pages: Create, update, and delete pages
            read_countries: Read country information
            write_countries: Update country settings
            read_custom_fields: Read product custom fields
            write_custom_fields: Create and update custom fields
            read_checkout_custom_fields: Read checkout additional fields
            write_checkout_custom_fields: Update checkout additional fields
            read_customer_categories: Read customer categories
            write_customer_categories: Create and update customer categories
            read_jsapps: Read JavaScript apps
            write_jsapps: Create, update, and delete JavaScript apps
            read_apps: Read installed apps
            read_fulfillments: Read fulfillment information
            write_fulfillments: Create and update fulfillments
            read_locations: Read warehouse locations
            write_locations: Create and update locations
            write_reviews: Manage product reviews
            read_transaction_ledgers: Read store balance
            write_store_setup: Create new stores via the store setup endpoint
x-refined-from:
- jumpseller-com-openapi-openapi.json
- jumpseller-com-openapi.json