Built-in apps
HTTP
5 min
http is the fundamental component of data transfer for the world wide web with the http app in make, you can connect to api services and applications that don't have an integration with make http v4 is a new version of the http app that simplifies the setup, ensures more secure keychain storage, and provides native pagination if you're still using the https //apps make com/http legacy app, choose v3 from the drop down http modules make a request makes an http request to any server you can make a request without credentials if the server doesn't require authentication if authentication is required, choose one of the following methods as required by the service's api documentation https //apps make com/basic auth authentication type https //apps make com/api key authentication type https //apps make com/oauth 20 authentication type you will only need to establish a connection to use this http module with the oauth 2 0 authentication standard module settings read below how to configure the standard module settings field description authentication type select the authentication type no authentication use when no credentials are required for the request (e g , web scraping) api key use when the service provider requires an api key (token) basic auth use when the service provider requires a username and a password oauth 2 0 use when the service provider requires client credentials (client id and client secret) credentials add the required credentials based on the selected authentication type https //apps make com/api key authentication type#woneo https //apps make com/basic auth authentication type https //apps make com/oauth 20 authentication type#dl2la url enter the url of an api endpoint (including the base url), webhook, or webpage, beginning with https // for example https //api example service com/v1/users https //your company com/webhooks/listener https //www global news com/ make allows only secure https connections that are using unverified (self signed) certificates are rejected method select the http method you want to use get to retrieve information for an entry head to retrieve the status line and headers, without the response body post to create a new entry put to update/replace an existing entry patch to make a partial entry update delete to delete an entry options to request information about the operations available for the specified resource or server headers add headers to provide additional metadata or instructions for the request for example, user agent to identify the client, cache control for caching instructions, etc you don't need to use this field to define the authentication credentials and content type, as there are specific module fields for that (i e , credentials and content type ) query parameters enter the query key value pairs to specify or customize your request this is mostly relevant for get and delete methods for example, you can specify which contacts or files you want to retrieve or delete you can find the query parameters in the app's api documentation body content type http body contains the data transferred in an http request select the body content type application/json enter data in a json format you can enter data as a json string or use a data structure m ultipart/form data (supports file uploads) enter files and form data as key value pairs you can use this body content type to send files in the http request, and you can also add text fields to the request application/x www form urlencoded enter form fields as key value pairs encoded in the url style with this body content type, t he body of the http request sent to the server is one query string c ustom enter data using a custom content type, e g , text/plain body input method (for json body content type) select the input method data structure define the json body with a https //help make com/data structures to map or enter values for each key json reserved characters placed within values will be escaped automatically this helps to avoid errors related to invalid json json string enter the json body as a raw text string if values contain json reserved values, you must escape them manually body content (for other body content types) if you selected m ultipart/form data (supports file uploads) body content type text enter data as key value pairs file map the file you want to upload from the previous module, or enter the file name and file data manually if you selected application/x www form urlencoded body content type enter data as key value pairs encoded in the url style the keys and values will be encoded in key value pairs separated by & and with a = between the key and the value example of the resulting http request format field1=value1\&field2=value2 if you selected c ustom body content type, enter the body content based on the selected content type value content type value (for custom body content type) specify the c ontent type value, e g , xml, html parse response select yes to structure the output data so that it’s easy to map all mappable items will be available after you run the module once pagination lets you retrieve large data sets in smaller, more manageable parts refer to the service's api documentation to see if they allow pagination and which type, and what's needed to configure it this information is usually provided in the description of a particular endpoint pagination type if you need to make a paginated http request, select the type of pagination; otherwise, leave the field empty available pagination types in make offset based you need to use two parameters offset and limit the offset is the starting point or position in the dataset the limit is the maximum number of records that should be included on each page, e g , ?offset=10\&limit=10 page based you need to define which page to retrieve, using the value of the current page number plus 1, and sometimes the page limit, e g , ?page=3\&limit=20 url or link based the server provides the specific, pre built url to define the next page token or cursor based you define the last item id in the current page or map the next page's starting point (depends on the api implementation), e g , ?cursor=zwjkyxi3mx0 pagination response configuration items path enter the path to the array of items for example, results or result users next page url/link path (for url or link based pagination) enter the path to the full url for the next page for example, links next or meta next page url next page token/cursor path (for token or cursor based pagination) enter the path to the token or cursor value for the next page for example, next cursor or meta next pagination request configuration offset parameter name (for offset based pagination) enter the query parameter name that defines the number of items to skip for example, offset or skip initial offset value (for offset based pagination) enter the number to start the request at this is typically 0 or 1 you can also use this field to return items beyond make’s 3200 limit page parameter name (for page based pagination) enter the query parameter name that defines the page number for example, page or page number initial page value (for page based pagination enter the page number to start the request at this is typically 0 or 1 you can also use this field to return items beyond make’s 3200 limit page token/cursor parameter name (for token or cursor based pagination) enter the query parameter name that defines the last item in the current page or the next page’s starting point for example, pagetoken or cursor initial page token value (for token or cursor based pagination) this is typically used when working with items beyond make’s 3200 limit page size parameter name enter the query parameter name that defines the page size for example, limit or per page page size parameter value enter the maximum number of items to retrieve per page output format select the output format array of items array of pages limit enter the maximum number of items to return must be a number between 1 and 3200 advanced settings read below how to configure advanced settings field description transport layer security (tls) select the tls handshake method if required by the api's security settings mutual tls b oth the client and server authenticate each other using certificates requires uploading a ca certificate and a client identity certificate tls only the server is required to present a certificate for its authentication ca certificate click create a keychain and add a ca certificate client identity (for mutual tls ) choose a key or click add to add a certificate and a private key proxy click create a keychain if your network requires routing requests through an intermediary server in the pop up window, configure the following fields host enter the domain name or ip address of the proxy server port enter the port number used by the proxy server must be between 1 and 65535 username enter the login name if the proxy requires authentication password enter the password for the proxy user return error if http request fails select yes if you want the scenario to stop if the request returns a 4xx or 5xx error timeout enter the maximum time to wait for the response, in seconds must be a number between 1 and 300 allow redirects select yes to automatically follow http redirection responses, with a maximum of 10 see docid 5gi97s upabn115gb ovb how the redirection works share cookies with other http modules select yes to enable the sharing of cookies with other http modules request compressed content select yes to request compression of the response data adds the accept encoding header redirection in http requests status code 300 (multiple choices) post, put, patch, get, head, delete the original method and request body are preserved for the redirected request query parameters from the original request are discarded status codes 301(moved permanently) and 302 (found) these two codes are similar in how follow redirects handles them, reflecting a common, albeit non compliant, practice of early browsers get , head the method remains unchanged the body is preserved query parameters are preserved unless location url has new parameters specified post the method is changed to get the body is preserved query parameters are preserved unless location url has new parameters specified put, patch, delete the method remains unchanged the body is preserved query parameters are preserved unless location url has new parameters specified status code 303 (see other) this status code explicitly tells the client to perform a get request to the new location, regardless of the original method get, head the method remains unchanged the body is preserved query parameters are preserved unless location url has new parameters specified post, put, patch, delete the method is always changed to get the request body is discarded query parameters are preserved unless location url has new parameters specified status code 304 (not modified) post, put, patch, get, head, delete the original method and request body are preserved for the redirected request query parameters from the original request are discarded status codes 305 (use proxy), 306 (switch proxy), 307 (temporary redirect) and 308 (permanent redirect) post, put, patch, get, head, delete the original method and request body are preserved for the redirected request query parameters are preserved unless location url has new parameters specified