{"_id":"5697511369393517000c82c8","editedParams":true,"editedParams2":true,"project":"5668fab608f90021008e882f","version":{"_id":"5668fab608f90021008e8832","__v":19,"project":"5668fab608f90021008e882f","createdAt":"2015-12-10T04:08:22.769Z","releaseDate":"2015-12-10T04:08:22.769Z","categories":["5668fab708f90021008e8833","569740f124490c3700170a64","569742b58560a60d00e2c25d","569742bd0b09a41900b2446c","569742cd69393517000c82b3","569742f459a6692d003fad8f","569743020b09a41900b2446d","5697430b69393517000c82b5","56a17776470ae00d00c30642","56a2c48a831e2a0d0069b1ad","56b535757bccae0d00e9a1cd","56e1ff6aa49fdc0e005746b5","57e1c88115bf6522002a5e4e","57fa65275ba65a17008b988f","57fbeea34002550e004c032e","58474584889b6c2d00fb86e9","58475dcc64157f0f002f1907","587e7b5158666c2700965d4e","58a349fc30852819007ba083"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.18.0","version":"1.18"},"__v":6,"parentDoc":null,"category":{"_id":"569742f459a6692d003fad8f","pages":["56974f48d231880d00676e6a","56975101d231880d00676e6c","5697511369393517000c82c8","5697512159a6692d003fada0","569752668560a60d00e2c268","569752898560a60d00e2c26b","569752add231880d00676e70","569752bd8400d52d00dd56ab","569752c769393517000c82cc","56e9cf33fae86b0e00e5394f","56e9cfe2af392b170035f68f"],"project":"5668fab608f90021008e882f","version":"5668fab608f90021008e8832","__v":11,"sync":{"url":"","isSync":false},"reference":true,"createdAt":"2016-01-14T06:40:52.350Z","from_sync":false,"order":1,"slug":"api-integration-rest-api","title":"REST API (For App/Backend)"},"user":"56839cf74aecbd0d00a4659e","updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-14T07:41:07.615Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[{"code":"curl -H \"Content-Type: application/json\" -d '{\n  \"apiKey\" : \"YOUR_API_KEY\", // REPLACE WITH YOUR API KEY AND REMOVE THIS COMMENT\n  \"version\" : 1, // this is optional -- remove this comment\n  \"items\" : [\n    {\n      \"title\" : \"A Beautiful Sea\",\n      \"url\" : \"https://www.liftigniter.com/beautiful-sea/\",\n      \"thumbnail\" : \"http://cdn.dummydomain.com/mediterranean-sea-2015.jpg\",\n      \"description\" : \"The sea can be serene to look at. At least when it is not turbulent.\",\n      \"category\" : [\"sea\", \"serenity\", \"fun\"],\n      \"author\" : \"Eric W. Seguiri\",\n      \"rating\" : 4.3,\n      \"upvotes\" : 432\n    }\n  ]\n  \"ttl\": 0\n}' https://api.petametrics.com/v1/inventory | python -mjson.tool","name":"cURL correct request","language":"curl"},{"name":"cURL rejected because invalid API key or disabled organization","language":"curl","code":"curl -H \"Content-Type: application/json\" -d '{\n  \"apiKey\" : \"a6f2ae1c-b2d8-4bce-a8e4-1ss00bb26fa4\",\n  \"version\" : 1,\n  \"items\" : [\n    {\n      \"title\" : \"A Beautiful Sea\",\n      \"url\" : \"https://www.liftigniter.com/beautiful-sea/\",\n      \"thumbnail\" : \"http://cdn.dummydomain.com/mediterranean-sea-2015.jpg\",\n      \"description\" : \"The sea can be serene to look at. At least when it is not turbulent.\",\n      \"category\" : [\"sea\", \"serenity\", \"fun\"],\n      \"author\" : \"Eric W. Seguiri\",\n      \"rating\" : 4.3,\n      \"upvotes\" : 432\n    }\n  ]\n}' https://api.petametrics.com/v1/inventory | python -mjson.tool"},{"name":"cURL rejected because regex failed to match","language":"curl","code":"curl -H \"Content-Type: application/json\" -d '{\n  \"apiKey\" : \"527ccb8c-0f33-47e5-bff8-d9c2bcaef59e\",\n  \"version\" : 1,\n  \"items\" : [\n    {\n      \"title\" : \"A Beautiful Sea\",\n      \"url\" : \"https://www.dummydomain.com/beautiful-sea/\",\n      \"thumbnail\" : \"http://cdn.dummydomain.com/mediterranean-sea-2015.jpg\",\n      \"description\" : \"The sea can be serene to look at. At least when it is not turbulent.\",\n      \"category\" : [\"sea\", \"serenity\", \"fun\"],\n      \"author\" : \"Eric W. Seguiri\",\n      \"rating\" : 4.3,\n      \"upvotes\" : 432\n    }\n  ]\n}' https://api.petametrics.com/v1/inventory | python -mjson.tool"},{"language":"curl","code":"curl -H \"Content-Type: application/json\" -d '{\n  \"apiKey\" : \"860511c3-3707-48bb-bd03-f53e927fa413\",\n  \"version\" : 1,\n  \"items\" : [\n    {\n      \"title\" : \"A Beautiful Sea\",\n      \"url\" : \"https://www.dummydomain.com/beautiful-sea/\",\n      \"thumbnail\" : \"http://cdn.dummydomain.com/mediterranean-sea-2015.jpg\",\n      \"description\" : \"The sea can be serene to look at. At least when it is not turbulent.\",\n      \"category\" : [\"sea\", \"serenity\", \"fun\"],\n      \"author\" : \"Eric W. Seguiri\",\n      \"rating\" : 4.3,\n      \"upvotes\" : 432\n    }\n  ]\n}' https://api.petametrics.com/v1/inventory | python -mjson.tool","name":"cURL rejected because of version condition"},{"name":"cURL rejected because of missing organization setting","language":"curl","code":"curl -H \"Content-Type: application/json\" -d '{\n  \"apiKey\" : \"a6f2ae1c-b2d8-4bce-a8e4-15b00bb26fa4\",\n  \"version\" : 1,\n  \"items\" : [\n    {\n      \"title\" : \"A Beautiful Sea\",\n      \"url\" : \"https://www.liftigniter.com/beautiful-sea/\",\n      \"thumbnail\" : \"http://cdn.dummydomain.com/mediterranean-sea-2015.jpg\",\n      \"description\" : \"The sea can be serene to look at. At least when it is not turbulent.\",\n      \"category\" : [\"sea\", \"serenity\", \"fun\"],\n      \"author\" : \"Eric W. Seguiri\",\n      \"rating\" : 4.3,\n      \"upvotes\" : 432\n    }\n  ]\n}' https://api.petametrics.com/v1/inventory | python -mjson.tool"}]},"method":"post","results":{"codes":[{"code":"{\n    \"diagnosticMsg\": \"New/updated inventory items are now queryable\",\n    \"inventoryIdField\": \"url\",\n    \"inventoryIdRegex\": \"(.*liftigniter\\\\.com.+?)(?:[?#]|$)\",\n    \"minVersion\": \"\",\n    \"numItemsInserted\": 1,\n    \"numItemsRequestedForInsertion\": 1,\n    \"numItemsWithInventoryIdField\": 1,\n    \"organization\": \"liftigniter\",\n    \"status\": \"ok: 1/1 items inserted.\",\n    \"statusCode\": 200,\n    \"version\": \"1\"\n}\n","language":"json","status":200,"name":"marked for insertion"},{"status":400,"name":"Rejected because invalid API key or disabled organization","code":"{\n    \"status\": \"Bad Request: Invalid API key\",\n    \"statusCode\": 400\n}","language":"json"},{"status":400,"name":"Regex match error","code":"{\n    \"diagnosticMsg\": \"Some items failed to insert for not matching the id field or regex settings. New/updated inventory items will be queryable in 1 to 5 minutes from now; other items will not be updated\",\n    \"inventoryIdField\": \"url\",\n    \"inventoryIdRegex\": \"(.*liftigniter\\\\.com.+?)(?:[?#]|$)\",\n    \"minVersion\": \"\",\n    \"numItemsMarkedForInsertion\": 0,\n    \"numItemsRequestedForInsertion\": 1,\n    \"numItemsWithInventoryIdField\": 1,\n    \"organization\": \"liftigniter\",\n    \"status\": \"Bad Request: 0/1 items inserted.\",\n    \"statusCode\": 400,\n    \"version\": \"1\"\n}","language":"json"},{"language":"json","status":400,"name":"Version condition failed","code":"{\n    \"diagnosticMsg\": \"Some items failed to insert for not matching the id field or regex settings. New/updated inventory items will be queryable in 1 to 5 minutes from now; other items will not be updated\",\n    \"inventoryIdField\": \"url\",\n    \"inventoryIdRegex\": \"(.*liftigniter\\\\.com.+?)(?:[?#]|$)\",\n    \"version\": \"1\",\n    \"minVersion\": \"4\",\n    \"diagnosticMsg\": \"Version used for insertion was less than the minimum accepted version\",\n    \"status\": \"Bad Request. 0 items inserted\",\n    \"organization\" : \"inventory_only_test\",\n    \"statusCode\": 400\n}"},{"name":"Rejected because of missing organization setting","code":"{\n    \"diagnosticMsg\": \"No items attempted for insertion, because we did not detect inventory settings for keytesting. Please contact support:::at:::liftigniter.com for fixing the inventory settings\",\n    \"organization\": \"keytesting\",\n    \"status\": \"Forbidden: 0 item inserted.\",\n    \"statusCode\": 403\n}","language":"json","status":403},{"code":"{\n    \"diagnosticMsg\": \"Some items failed to insert for not matching the id field or regex settings. New/updated inventory items will be queryable in 1 to 5 minutes from now; other items will not be updated\",\n    \"inventoryIdField\": \"url\",\n    \"inventoryIdRegex\": \"(.*liftigniter\\\\.com.+?)(?:[?#]|$)\",\n    \"minVersion\": \"\",\n    \"numItemsRequestedForInsertion\": 15000,\n    \"diagnosticMsg\": \"You are not allowed to insert data for more than 10000 items in a single request; nothing was updated\",\n    \"status\": \"Rate limited. 0 items inserted\",\n    \"statusCode\": 429\n}","language":"json","status":429}]},"settings":"569740d169393517000c82b0","auth":"required","params":[{"_id":"5697538b8560a60d00e2c270","ref":"","in":"body","required":true,"desc":"Your LiftIgniter API key.","default":"","type":"string","name":"apiKey"},{"_id":"5697538b8560a60d00e2c26f","ref":"","in":"body","required":false,"desc":"Your Inventory version. If you want to make a format change to inventory information, you can ask us to set an inventory version. If you ask us to set minimum inventory version for you then we won't take any inventories that belong to versions lower than the one you told us.","default":"","type":"int","name":"version"},{"_id":"5697538b8560a60d00e2c26e","ref":"","in":"body","required":true,"desc":"Array of items to be inserted into LiftIgniter. Each item has to be a JSON object with your key field (which is \"url\" by default)","default":"","type":"array_object","name":"items"},{"_id":"57d9e4c73916800e003ddf64","ref":"","in":"body","required":false,"desc":"A non-negative 32-bit integer that represents how long the inserted items should last in seconds. If this field isn't declared, then the TTL of inserted item becomes indefinite. Items scraped by JS has 30 day TTL. Setting this parameter to 0 will result in 30 days TTL instead of 0 seconds.","default":"","type":"int","name":"ttl"}],"url":"/inventory"},"isReference":true,"order":4,"body":"`Inventory` is a collection of your `items` that you would like LiftIgniter to track. Any `items` registered here will be considered in the recommendation.\n\nFor integrations that serves websites, we generally use the field called `url` as the inventory id field. You can think of this as the primary key for your inventory items. \n\nIf you think the URL is not the correct unique field for your use case, get in touch with us and we’ll change the name of your inventory id field. Please do this before you start sending us `inventory`.\n\nAny request to add or delete items will be done using the inventory id field. In particular, if the item you insert does not have this field, it will be rejected. If the item has the inventory id field, it will replace any other items that already exist with the same inventory id field.\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"We recommend the following for inventory insertion:<ul>\\n<li>If inserting multiple `inventory items` together, aim for batch sizes of about 1000. We have a hard limit of 10000 on batch sizes but recommend smaller batch sizes.</li>\\n<li>In general, we recommend keeping the total number of items inserted per minute at less than 10000, though we can handle loads up to 20000 per minute for short durations.</li>\\n</ul>\\n\\nYou can see our [Rate Limits](doc:rate-limits) documentation for more information.\",\n  \"title\": \"Limits For Large-Scale Inventory Insertion\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Supported Inventory type\",\n  \"body\": \"LiftIgniter supports the following kinds of values for an `inventory item`:<ul>\\n<li>String</li><li>List of strings</li><li>Number</li>\\n</ul>We do not currently accept nested JSON structures for `inventory items`. Any such nested structures will be ignored by us when scraping your inventory.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Insertion Also Works As Update, But Completely Overrides The Existing Item\",\n  \"body\": \"When you insert an `inventory item`, if the item already exists in our data store, we override the existing item with the version that you inserted. The item is completely overridden, rather than simply adding in the extra fields.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Special field names\"\n}\n[/block]\nWe support the following special field names in inventory items, that our system gives special treatment. You are not limited to using these field names; however, other field names will not be interpreted semantically by LiftIgniter unless specifically discussed with the customer.\n\n* Your unique identifier field name (discussed earlier) which is by default `url`, is used to identify the item. Inserting another item with the same unique identifier value will override the preceding value.\n* `title` is used to identify the title of the item. Title similarity is one of the metadata signals used by our system by default for all customers, although user activity plays a more important role.\n* `thumbnail` and `image` are used to identify the images for the object. If no `thumbnail` is specified, but a thumbnail is requested in a model query, the value under `image` is returned.\n* `description` is used for open-ended descriptions of content. Like the title, it is used as a metadata signal; however, it is given less importance than title.\n* We build indexes based on fields with the following names: `tag`, `category`, `channel`, and `type`. You should be able to set rules around these names to query items matching those names.\n* You can use the field names `published_time` and `modified_time` to share the publication time and last modification time in the ISO 8601 format, as per the [Open Graph specification](https://ogp.me). We have adopted this specification since many customers who use Javascript-based scraping already have their metadata in this specification.\n* You can use `noShow` to \"true\" to mark an item as something LiftIgniter is not allowed to show.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Time Lag With Inventory Operations\"\n}\n[/block]\nThe inventory update and delete operations you do may not occur immediately.\n\nYou can expect a delay of at least one minute and at most five minutes between successful insertion of an item and being able to successfully query it.\n\nIn order to query the item, you can use our [inventory GET endpoint](doc:inventoryid).\n\nPlease expect a delay of up to ten more minutes for the item to start circulating in recommendations.\n\nWe also don’t guarantee consistency in the order of execution of operations, so if an insert and delete operation happen very close together in time (within an interval of under a minute), the result is unpredictable.\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Setting Up Automated Inventory Updates\"\n}\n[/block]\nThere are three ways you could set up automated inventory updates:\n<ul>\n<li>Update-as-you-go: Here, every time an update happens in your system (e.g., a new article or video is added or deleted, or the metadata for an existing item changes) you send an update to our inventory API endpoint. This way, our inventory metadata remains most up-to-date. The disadvantage of this approach is that if some problem happens at the time you sent that update, either on your side or on our side, then our system will perpetually have incorrect data. </li>\n<li>Periodic sync: Here, you periodically (e.g., once or twice a day) send us your entire inventory. </li>\n<li>Periodic sync, but only for updated content: Here, you periodically send us only the inventory items that have been added, deleted, or modified.</li>\n</ul>\nDepending on your needs, you can select any of these methods. If you have rapidly changing content, and want changes to propagate immediately, you should use the update-as-you-go method. If your changes are usually not too critical to pick in real time, you should opt for the periodic sync. You can also use update-as-you-go in addition to a periodic sync.\n\nIf in doubt about whether your inventory update went through (particularly important if it’s a critical update), use our GET endpoint to verify after a few minutes.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Interaction with Javascript inventory insertion\"\n}\n[/block]\nMany of our customers simply allow LiftIgniter to update inventories via Javascript: we collect the inventories using our Javascript whenever users are browsing the website with the LiftIgniter beacon. This is an *alternative* approach to the inventory POST endpoint approach that is the subject of this page.\n\nOur backend does not make a distinction between insertions that happen through Javascript and insertions that happen through the API (though we do keep a log of how the insertion happened, for debugging purposes). In other words, the same universe of inventories is updated in both cases.\n\nWe recommend that a particular organization adopt *one* of the two approaches: Javascript-based insertion and inventory POST endpoint. Mixing and matching the two approaches can be confusing, since the items collected through Javascript could keep interfering with your POST operations.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Keeping track of inventory insertions\"\n}\n[/block]\nTo see the history of your inventory insertion activity (specifically, how many inventory items you inserted over the recent past), you can look at the Inventory panel in the LiftIgniter Lab. The field `api_ins` there records insertions that happened through the API. This is to distinguish it from insertions that happened through Javascript, which are recorded as `pixel_ins`.","excerpt":"This is a `POST` request that registers your content items to LiftIgniter's `Inventory` store.","slug":"inventory","type":"endpoint","title":"/inventory"}

post/inventory

This is a `POST` request that registers your content items to LiftIgniter's `Inventory` store.

Definition

{{ api_url }}{{ page_api_url }}

Parameters

Body Params

apiKey:
required
string
Your LiftIgniter API key.
version:
integer
Your Inventory version. If you want to make a format change to inventory information, you can ask us to set an inventory version. If you ask us to set minimum inventory version for you then we won't take any inventories that belong to versions lower than the one you told us.
items:
required
array of objects
Array of items to be inserted into LiftIgniter. Each item has to be a JSON object with your key field (which is "url" by default)
ttl:
integer
A non-negative 32-bit integer that represents how long the inserted items should last in seconds. If this field isn't declared, then the TTL of inserted item becomes indefinite. Items scraped by JS has 30 day TTL. Setting this parameter to 0 will result in 30 days TTL instead of 0 seconds.

Examples


Result Format


Documentation

`Inventory` is a collection of your `items` that you would like LiftIgniter to track. Any `items` registered here will be considered in the recommendation. For integrations that serves websites, we generally use the field called `url` as the inventory id field. You can think of this as the primary key for your inventory items. If you think the URL is not the correct unique field for your use case, get in touch with us and we’ll change the name of your inventory id field. Please do this before you start sending us `inventory`. Any request to add or delete items will be done using the inventory id field. In particular, if the item you insert does not have this field, it will be rejected. If the item has the inventory id field, it will replace any other items that already exist with the same inventory id field. [block:callout] { "type": "warning", "body": "We recommend the following for inventory insertion:<ul>\n<li>If inserting multiple `inventory items` together, aim for batch sizes of about 1000. We have a hard limit of 10000 on batch sizes but recommend smaller batch sizes.</li>\n<li>In general, we recommend keeping the total number of items inserted per minute at less than 10000, though we can handle loads up to 20000 per minute for short durations.</li>\n</ul>\n\nYou can see our [Rate Limits](doc:rate-limits) documentation for more information.", "title": "Limits For Large-Scale Inventory Insertion" } [/block] [block:callout] { "type": "info", "title": "Supported Inventory type", "body": "LiftIgniter supports the following kinds of values for an `inventory item`:<ul>\n<li>String</li><li>List of strings</li><li>Number</li>\n</ul>We do not currently accept nested JSON structures for `inventory items`. Any such nested structures will be ignored by us when scraping your inventory." } [/block] [block:callout] { "type": "info", "title": "Insertion Also Works As Update, But Completely Overrides The Existing Item", "body": "When you insert an `inventory item`, if the item already exists in our data store, we override the existing item with the version that you inserted. The item is completely overridden, rather than simply adding in the extra fields." } [/block] [block:api-header] { "type": "basic", "title": "Special field names" } [/block] We support the following special field names in inventory items, that our system gives special treatment. You are not limited to using these field names; however, other field names will not be interpreted semantically by LiftIgniter unless specifically discussed with the customer. * Your unique identifier field name (discussed earlier) which is by default `url`, is used to identify the item. Inserting another item with the same unique identifier value will override the preceding value. * `title` is used to identify the title of the item. Title similarity is one of the metadata signals used by our system by default for all customers, although user activity plays a more important role. * `thumbnail` and `image` are used to identify the images for the object. If no `thumbnail` is specified, but a thumbnail is requested in a model query, the value under `image` is returned. * `description` is used for open-ended descriptions of content. Like the title, it is used as a metadata signal; however, it is given less importance than title. * We build indexes based on fields with the following names: `tag`, `category`, `channel`, and `type`. You should be able to set rules around these names to query items matching those names. * You can use the field names `published_time` and `modified_time` to share the publication time and last modification time in the ISO 8601 format, as per the [Open Graph specification](https://ogp.me). We have adopted this specification since many customers who use Javascript-based scraping already have their metadata in this specification. * You can use `noShow` to "true" to mark an item as something LiftIgniter is not allowed to show. [block:api-header] { "type": "basic", "title": "Time Lag With Inventory Operations" } [/block] The inventory update and delete operations you do may not occur immediately. You can expect a delay of at least one minute and at most five minutes between successful insertion of an item and being able to successfully query it. In order to query the item, you can use our [inventory GET endpoint](doc:inventoryid). Please expect a delay of up to ten more minutes for the item to start circulating in recommendations. We also don’t guarantee consistency in the order of execution of operations, so if an insert and delete operation happen very close together in time (within an interval of under a minute), the result is unpredictable. [block:api-header] { "type": "basic", "title": "Setting Up Automated Inventory Updates" } [/block] There are three ways you could set up automated inventory updates: <ul> <li>Update-as-you-go: Here, every time an update happens in your system (e.g., a new article or video is added or deleted, or the metadata for an existing item changes) you send an update to our inventory API endpoint. This way, our inventory metadata remains most up-to-date. The disadvantage of this approach is that if some problem happens at the time you sent that update, either on your side or on our side, then our system will perpetually have incorrect data. </li> <li>Periodic sync: Here, you periodically (e.g., once or twice a day) send us your entire inventory. </li> <li>Periodic sync, but only for updated content: Here, you periodically send us only the inventory items that have been added, deleted, or modified.</li> </ul> Depending on your needs, you can select any of these methods. If you have rapidly changing content, and want changes to propagate immediately, you should use the update-as-you-go method. If your changes are usually not too critical to pick in real time, you should opt for the periodic sync. You can also use update-as-you-go in addition to a periodic sync. If in doubt about whether your inventory update went through (particularly important if it’s a critical update), use our GET endpoint to verify after a few minutes. [block:api-header] { "type": "basic", "title": "Interaction with Javascript inventory insertion" } [/block] Many of our customers simply allow LiftIgniter to update inventories via Javascript: we collect the inventories using our Javascript whenever users are browsing the website with the LiftIgniter beacon. This is an *alternative* approach to the inventory POST endpoint approach that is the subject of this page. Our backend does not make a distinction between insertions that happen through Javascript and insertions that happen through the API (though we do keep a log of how the insertion happened, for debugging purposes). In other words, the same universe of inventories is updated in both cases. We recommend that a particular organization adopt *one* of the two approaches: Javascript-based insertion and inventory POST endpoint. Mixing and matching the two approaches can be confusing, since the items collected through Javascript could keep interfering with your POST operations. [block:api-header] { "type": "basic", "title": "Keeping track of inventory insertions" } [/block] To see the history of your inventory insertion activity (specifically, how many inventory items you inserted over the recent past), you can look at the Inventory panel in the LiftIgniter Lab. The field `api_ins` there records insertions that happened through the API. This is to distinguish it from insertions that happened through Javascript, which are recorded as `pixel_ins`.

User Information

Try It Out

post
{{ tryResults.results }}
Method{{ tryResults.method }}
Request Headers
{{ tryResults.requestHeaders }}
URL{{ tryResults.url }}
Request Data
{{ tryResults.data }}
Status
Response Headers
{{ tryResults.responseHeaders }}