Put /surveys/{{survey-id}}/webhooks/{{webhook-id}}

Example Request

https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/webhooks/{{webhook-id}}?apiKey={{apiKey}}

The value of environment {{env}} variable depends upon your datacenter. Refer to the Environment page for more details.

Authorization

arrow_rightKey - apiKey
  • Name: apiKey
  • Location: query

Request Parameters

arrow_rightPath Parameters
survey-id integer
required
webhook-id integer
required

Request Body

arrow_rightPayload
application/json

                        {
                            "description": "WebHook Updated",
                            "requestHeader": "content-type: application/json",
                            "requestJSON": "",
                            "requestMethod": "METHOD_GET",
                            "location": "LOCATION_BEFORE_SURVEY"
                        }
                    

Example Code

arrow_rightcURL
application/json

                                    curl --location --request PUT 'https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/webhooks/{{webhook-id}}?apiKey={{apiKey}}' \
                                        --header 'Content-Type: application/json' \
                                        --data-raw '{
                                            "description": "WebHook Updated",
                                            "requestHeader": "content-type: application/json",
                                            "requestJSON": "",
                                            "requestMethod": "METHOD_GET",
                                            "location": "LOCATION_BEFORE_SURVEY"
                                        }'
                        
arrow_rightPython
application/json

                                    import requests

                                    url = "https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/webhooks/{{webhook-id}}?apiKey={{apiKey}}"
                                    
                                    payload="{\r\n    \"description\": \"WebHook Updated\",\r\n    \"requestHeader\": \"content-type: application/json\",\r\n    \"requestJSON\": \"\",\r\n    \"requestMethod\": \"METHOD_GET\",\r\n    \"location\": \"LOCATION_BEFORE_SURVEY\"\r\n}"
                                    headers = {
                                      'Content-Type': 'application/json'
                                    }
                                    
                                    response = requests.request("PUT", url, headers=headers, data=payload)
                                    
                                    print(response.text)
                            
arrow_rightPHP
application/json

                             <?php

                                                $curl = curl_init();
                                                
                                                curl_setopt_array($curl, array(
                                                  CURLOPT_URL => 'https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/webhooks/{{webhook-id}}?apiKey={{apiKey}}',
                                                  CURLOPT_RETURNTRANSFER => true,
                                                  CURLOPT_ENCODING => '',
                                                  CURLOPT_MAXREDIRS => 10,
                                                  CURLOPT_TIMEOUT => 0,
                                                  CURLOPT_FOLLOWLOCATION => true,
                                                  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                                                  CURLOPT_CUSTOMREQUEST => 'PUT',
                                                  CURLOPT_POSTFIELDS =>'{
                                                    "description": "WebHook Updated",
                                                    "requestHeader": "content-type: application/json",
                                                    "requestJSON": "",
                                                    "requestMethod": "METHOD_GET",
                                                    "location": "LOCATION_BEFORE_SURVEY"
                                                }',
                                                  CURLOPT_HTTPHEADER => array(
                                                    'Content-Type: application/json',
                                                    'Cookie: data=41754c7148d5e18288cc21ae8facc7a0; QPAPI=api1|X84JB'
                                                  ),
                                                ));
                                                
                                                $response = curl_exec($curl);
                                                
                                                curl_close($curl);
                                                
                                                if ($err) {
                                                echo "cURL Error # :" . $err;
                                                } else {
                                                echo $response;
                                                }
                                                ?>
                            

Responses

arrow_rightExample
application/json

                        {
                            "response": {
                                "webhookID": 12345,
                                "surveyID": 1234567,
                                "userID": 9876543,
                                "questionID": 0,
                                "description": "WebHook Updated",
                                "requestURL": "https://webhook.site/12345678-0000-4090-0000-ab25s0156xx6",
                                "requestHeader": "content-type: application/json",
                                "requestJSON": "{complete_response}",
                                "requestMethod": "METHOD_GET",
                                "location": "LOCATION_AFTER_SURVEY",
                                "type": 1,
                                "createdDate": "Mon 07 Dec, 10:48:02 GMT 2020"
                            }
                        }
                    
arrow_rightSchema
application/json
{
  "$schema": "http://json-schema.org/draft-06/schema# ",
  "type": "object",
  "properties": {
    "response": {
      "type": "object",
      "properties": {
        "requestJSON": {
          "type": "string"
        },
        "surveyID": {
          "type": "integer"
        },
        "webhookID": {
          "type": "integer"
        },
        "questionID": {
          "type": "integer"
        },
        "createdDate": {
          "type": "string"
        },
        "requestURL": {
          "type": "string"
        },
        "requestMethod": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "requestHeader": {
          "type": "string"
        },
        "location": {
          "type": "string"
        },
        "type": {
          "type": "integer"
        },
        "userID": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "required": [
        "surveyID",
        "webhookID",
        "questionID",
        "requestMethod",
        "description",
        "type",
        "userID",
        "requestJSON",
        "createdDate",
        "requestURL",
        "requestHeader",
        "location"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "response"
  ]
}
arrow_right400 example
application/json

{
    "response": {
     "error": {
         "docs": www.questionpro.com/api/error-codes.html
         "name": "BAD_REQUEST",
         "httpStatusCode": 400,
         "id" : "1000",
         "message": "Invalid URL parameters",
         "resourceUrl":"resource_url"
        }
    }
}
                                
arrow_rightSchema
application/json

{
  "$schema": "http://json-schema.org/draft-06/schema#                                 ",
  "type": "object",
  "properties": {
    "response": {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "docs": {
              "type": "string"
            },
            "resourceUrl": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "httpStatusCode": {
              "type": "integer"
            }
          },
          "additionalProperties": false,
          "required": [
            "docs",
            "resourceUrl",
            "name",
            "id",
            "message",
            "httpStatusCode"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "error"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "response"
  ]
}
                                
arrow_right401 example
application/json

{
    "response": {
     "error": {
         "docs": www.questionpro.com/api/error-codes.html
         "name": "UNAUTHORIZED",
         "httpStatusCode": 401,
         "id" : "1010",
         "message": "Incorrect API Key",
         "resourceUrl":"resource_url"
        }
    }
}
						
							
arrow_rightSchema
application/json

{
  "$schema": "http://json-schema.org/draft-06/schema#                                 ",
  "type": "object",
  "properties": {
    "response": {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "docs": {
              "type": "string"
            },
            "resourceUrl": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "httpStatusCode": {
              "type": "integer"
            }
          },
          "additionalProperties": false,
          "required": [
            "docs",
            "resourceUrl",
            "name",
            "id",
            "message",
            "httpStatusCode"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "error"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "response"
  ]
}
                                
arrow_right403 example
application/json

{
    "response": {
     "error": {
         "docs": www.questionpro.com/api/error-codes.html
         "name": "FORBIDDEN",
         "httpStatusCode": 403,
         "id" : "1013",
         "message": "The user does not have permission to access the resource",
         "resourceUrl":"resource_url"
        }
    }
}				
							
arrow_rightSchema
application/json

{
  "$schema": "http://json-schema.org/draft-06/schema#                                 ",
  "type": "object",
  "properties": {
    "response": {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "docs": {
              "type": "string"
            },
            "resourceUrl": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "httpStatusCode": {
              "type": "integer"
            }
          },
          "additionalProperties": false,
          "required": [
            "docs",
            "resourceUrl",
            "name",
            "id",
            "message",
            "httpStatusCode"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "error"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "response"
  ]
}
                                
arrow_right404 example
application/json

{
    "response": {
     "error": {
         "docs": www.questionpro.com/api/error-codes.html
         "name": "NOT_FOUND",
         "httpStatusCode": 404,
         "id" : "1040",
         "message": "The resource that you're trying to access doesn't exist",
         "resourceUrl":"resource_url"
        }
    }
}
							
							
arrow_rightSchema
application/json

{
  "$schema": "http://json-schema.org/draft-06/schema#                                 ",
  "type": "object",
  "properties": {
    "response": {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "docs": {
              "type": "string"
            },
            "resourceUrl": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "httpStatusCode": {
              "type": "integer"
            }
          },
          "additionalProperties": false,
          "required": [
            "docs",
            "resourceUrl",
            "name",
            "id",
            "message",
            "httpStatusCode"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "error"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "response"
  ]
}
                                
arrow_right500 example
application/json

{
    "response": {
     "error": {
         "docs": www.questionpro.com/api/error-codes.html
         "name": "INTERNAL_SERVER_ERROR",
         "httpStatusCode": 500,
         "id" : "1026",
         "message": "We are not able to process your request",
         "resourceUrl":"resource_url"
        }
    }
}
							
arrow_rightSchema
application/json

{
  "$schema": "http://json-schema.org/draft-06/schema#                                 ",
  "type": "object",
  "properties": {
    "response": {
      "type": "object",
      "properties": {
        "error": {
          "type": "object",
          "properties": {
            "docs": {
              "type": "string"
            },
            "resourceUrl": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "id": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "httpStatusCode": {
              "type": "integer"
            }
          },
          "additionalProperties": false,
          "required": [
            "docs",
            "resourceUrl",
            "name",
            "id",
            "message",
            "httpStatusCode"
          ]
        }
      },
      "additionalProperties": false,
      "required": [
        "error"
      ]
    }
  },
  "additionalProperties": false,
  "required": [
    "response"
  ]
}