{"info":{"_postman_id":"b85e2fd1-6fb4-4546-bd91-36f2d4e261c6","name":"Real-time Search Engine - AwardTool","description":"<html><head></head><body><p>The API delivers enterprise-level, real-time access to award ticket availability across a comprehensive set of global airline loyalty programs. It is designed to support high-volume, programmatic searches and enables clients to query award inventory using structured parameters such as travel dates, origin and destination airports, preferred airlines, cabin classes, and routing preferences.</p>\n<p>The platform aggregates and continuously normalizes data from multiple airline programs into a unified and consistent response schema. This abstraction layer eliminates program-specific inconsistencies and provides a reliable interface for downstream consumption. API responses include detailed flight itineraries, award seat availability by cabin, mileage and points requirements, applicable surcharges where available, and other relevant redemption attributes.</p>\n<p>Built for scalability and reliability, the API supports seamless integration into enterprise applications, analytics pipelines, and consumer-facing products. It enables partners to power award search, monitoring, and optimization workflows while maintaining consistent high data quality and predictable performance.</p>\n<p><strong>Real-Time Search API Sample Code (Recommended)</strong></p>\n<p><a href=\"https://gist.github.com/awardtool/8947354e6a2f24469cf4a07ddb82bd9f\">https://gist.github.com/awardtool/8947354e6a2f24469cf4a07ddb82bd9f</a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"31698313","collectionId":"b85e2fd1-6fb4-4546-bd91-36f2d4e261c6","publishedId":"2sBXVZmtKP","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-12-22T18:51:01.000Z"},"item":[{"name":"Real-time Search API - Crawler Trigger","id":"5cdc7f8c-c595-4bd4-86a7-d9f68f29de7d","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"origin\": \"JFK\",\n    \"destination\": \"LHR\",\n    \"programs\": [\"UA\"],\n    \"cabins\": [\"Economy\", \"Premium Economy\", \"Business\", \"First\"],\n    \"date\": \"2025-12-25\",\n    \"pax\": \"1\",\n    \"task_id\": \"db8032021-ffd0-4301c-80f6-731de2d\", //Create uuid for each request\n    \"api_key\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://apisv2.awardtoolapi.com/flight_trigger/search_real_time","description":"<h2 id=\"overview\">Overview</h2>\n<h3 id=\"trigger-a-flight-search\">Trigger a Flight Search</h3>\n<p>Submits a flight search to the processing queue. Award availability is retrieved asynchronously and can be associated with related requests through a client-defined <code>task_id</code>.</p>\n<h2 id=\"query-constraints\">Query Constraints</h2>\n<ul>\n<li><p>Each request must search exactly one travel date. Date ranges are not supported.</p>\n</li>\n<li><p>A request may include multiple loyalty programs, but a maximum of five programs per request is recommended.</p>\n</li>\n<li><p>To search more than five programs for the same date, divide them across multiple requests using the same <code>task_id</code>.</p>\n</li>\n<li><p>All requests sharing a <code>task_id</code> must use the same travel date.</p>\n</li>\n<li><p>Usage is calculated per program-date search. For example, a request containing five programs counts as five searches.</p>\n</li>\n</ul>\n<h2 id=\"request-fields\">Request Fields</h2>\n<h3 id=\"pax\"><code>pax</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Integer</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Number of passengers included in the search.</p>\n</li>\n</ul>\n<h3 id=\"programs\"><code>programs</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Array of strings</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Loyalty-program codes to search.</p>\n</li>\n<li><p><strong>Recommendation:</strong> Include no more than five programs per request.</p>\n</li>\n</ul>\n<h3 id=\"cabins\"><code>cabins</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Array of strings</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Cabin classes to include.</p>\n</li>\n<li><p><strong>Supported values:</strong></p>\n<ul>\n<li><p><code>Economy</code></p>\n</li>\n<li><p><code>Premium Economy</code></p>\n</li>\n<li><p><code>Business</code></p>\n</li>\n<li><p><code>First</code></p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"origin\"><code>origin</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Origin airport’s three-letter IATA code, such as <code>SFO</code>.</p>\n</li>\n</ul>\n<h3 id=\"arrival\"><code>arrival</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Destination airport’s three-letter IATA code, such as <code>JFK</code>.</p>\n</li>\n</ul>\n<h3 id=\"date\"><code>date</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Object</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Travel date to search.</p>\n</li>\n<li><p><strong>Constraint:</strong> Must represent exactly one date. Date ranges are not supported.</p>\n</li>\n</ul>\n<h3 id=\"task_id\"><code>task_id</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Client-defined identifier used to track a search and retrieve its results from the backend.</p>\n</li>\n<li><p><strong>Usage:</strong> Include the <code>task_id</code> when requesting the completed search results. When a search is divided into multiple program batches, reuse the same <code>task_id</code> to group the results under a single identifier. All requests sharing a <code>task_id</code> must use the same travel date.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["flight_trigger","search_real_time"],"host":["apisv2","awardtoolapi","com"],"query":[],"variable":[]}},"response":[{"id":"2b132b85-cb3c-48fb-ad28-a1a211b0b4b8","name":"Real-time Search API - Crawler Trigger","originalRequest":{"method":"POST","header":[{"key":"sec-ch-ua","value":"\"Google Chrome\";v=\"119\", \"Chromium\";v=\"119\", \"Not?A_Brand\";v=\"24\"","disabled":true},{"key":"DNT","value":"1","disabled":true},{"key":"sec-ch-ua-mobile","value":"?0","disabled":true},{"key":"User-Agent","value":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36","disabled":true},{"key":"Content-Type","value":"application/json","disabled":true},{"key":"Referer","value":"http://localhost:5173/","disabled":true},{"key":"Authentication","value":"eyJraWQiOiIzRGZJWWhXODVoYkxtRVYrZXp1ZmM1SEJrUUl2bTczSkZCVUVHYklidDUwPSIsImFsZyI6IlJTMjU2In0.eyJhdF9oYXNoIjoiU0FiWG4tZ3FPcGtTa1FiOVRRUXF3USIsInN1YiI6IjE0Mjg1NGQ4LTEwZTEtNzBmOS1iZGJiLTk0ZDE2N2E0ZmJjMiIsImNvZ25pdG86Z3JvdXBzIjpbInVzLWVhc3QtMV9CUDdGMHBjaUZfR29vZ2xlIl0sImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfQlA3RjBwY2lGIiwiY29nbml0bzp1c2VybmFtZSI6Imdvb2dsZV8xMDExNjI3OTY5OTY5MDkxNTE3NTgiLCJvcmlnaW5fanRpIjoiMjc0OWVhZWMtMmU5NS00Mjk3LTk1ODgtM2U0ZmMyZTIzOTU0IiwiYXVkIjoiMmx1NTk0bmF2ZmNobHRrb3BxbG1rOGx1YzciLCJpZGVudGl0aWVzIjpbeyJ1c2VySWQiOiIxMDExNjI3OTY5OTY5MDkxNTE3NTgiLCJwcm92aWRlck5hbWUiOiJHb29nbGUiLCJwcm92aWRlclR5cGUiOiJHb29nbGUiLCJpc3N1ZXIiOm51bGwsInByaW1hcnkiOiJ0cnVlIiwiZGF0ZUNyZWF0ZWQiOiIxNjkzMDg4NjM4NDI5In1dLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcwMTM5NjU3OSwiZXhwIjoxNzAyMjEwMjU4LCJpYXQiOjE3MDIyMDY2NTgsImp0aSI6IjVhNzZkNzI1LTQ0YmEtNDJmOS04OGI0LWIzNDU2YzU1ODcxZiIsImVtYWlsIjoieWh5bGlmZTZAZ21haWwuY29tIn0.YCGIG_s9vs-dhRAUPYC2d0tpoPFj4bqX9MnBJFeduKlZeBvi4gteNbRTSXtPhbfXbdUivELqT2rv8lqc4_bOgGH5w02hzBMetXzfEUgRmZQ4Fxh38lBjXxF-7a68ecCBPLQ90ERSiVXxWPLmY7yH6a1atOjNy-__tN_WlOD1W8ivAtEaiiNgceOMN6D4-pGYmcBL5re1zn8FLSHah-edttD1HqvZI-mbfSGXPvF1eTEPbwRv45Dv2x60v9zUbAFTP7-s9T5XISB_jBfB0PG0TKaj6KRBahP0kp3Z121o5PgmK1UZXRqZd6YSCrH30SS5XLlr7CND2e-z5Xs9kjyzIA","disabled":true},{"key":"sec-ch-ua-platform","value":"\"macOS\"","disabled":true}],"body":{"mode":"raw","raw":"{\n    \"date\": \"2026-12-06\",  // Travel date in YYYY-M-D format\n    \"origin\": \"JFK\",  // Origin airport code\n    \"destination\": \"LHR\",  // Destination airport code\n    \"pax\": 2,  // Number of passengers\n    \"programs\": [\"UA\", \"AC\", \"AA\", \"DL\", \"KL\", \"TK\"],\n    \"cabins\": [\"Economy\", \"Premium Economy\", \"Business\", \"First\"],\n    \"task_id\": \"db80320421-ffd0-4301c-80f6-123c93097031de2d\", //Create uuid for each request, if \n    \"api_key\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://apis.awardtool.com/flight_trigger/search_real_time"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":":status","value":200},{"key":"date","value":"Thu, 16 Jul 2026 04:28:58 GMT"},{"key":"content-type","value":"application/json"},{"key":"access-control-allow-origin","value":""},{"key":"access-control-allow-credentials","value":"true"},{"key":"access-control-allow-methods","value":"GET,POST,OPTIONS"},{"key":"access-control-allow-headers","value":"Content-Type,Authorization,X-Requested-With,authentication,x-unique-id,Origin"},{"key":"vary","value":"Origin"},{"key":"server","value":"cloudflare"},{"key":"x-do-orig-status","value":"200"},{"key":"x-do-app-origin","value":"4720bd80-5f8a-4ea8-afe1-7b723a01d84a"},{"key":"cache-control","value":"private"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"set-cookie","value":"__cf_bm=hY3lg4uE1W_YLLnoIH37VeIhvhdC_9lW4TgGl634UI4-1784176138.5186756-1.0.1.1-2xIjUydBiJkUCHvpu4k.2WFuXIKidR6EK0uGFXRDMOdj3stAnHgJhnvmTtyvTOoYPVNjN6y2OgkP_qZCNdvQ0YXoLaE81R7l27ZFi2ckQaic6.M.5gilkATqN49uHyOG; HttpOnly; SameSite=None; Secure; Path=/; Domain=apis.awardtool.com; Expires=Thu, 16 Jul 2026 04:58:58 GMT"},{"key":"content-encoding","value":"br"},{"key":"cf-ray","value":"a1be4361bb085bc0-SJC"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"machine\": \"APP_PLATFORM\",\n    \"message\": \"exit_early\",\n    \"status\": 200\n}"}],"_postman_id":"5cdc7f8c-c595-4bd4-86a7-d9f68f29de7d"},{"name":"Real-time Search API - Data Retrieval","id":"4996315c-5f9a-4f0e-8eca-0e4facf3dc9f","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{"content-length":true,"content-type":true,"accept-encoding":true,"user-agent":true}},"request":{"method":"POST","header":[{"key":"accept","value":"*/*"},{"key":"accept-language","value":"en-US,en;q=0.9,zh-CN;q=0.8,zh-TW;q=0.7,zh;q=0.6"},{"key":"content-type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"task_id\": \"9a63f64b-1a3f-4d32-906d-c68aaf77c429\",\n    \"api_key\": \"YOU_API_KEY\"\n}"},"url":"https://apisv2.awardtoolapi.com/flight_retrieval/search_result","description":"<h2 id=\"overview\">Overview</h2>\n<h3 id=\"retrieve-real-time-search-results\">Retrieve Real-Time Search Results</h3>\n<p>Returns the latest available results for a previously submitted real-time search task. Because searches are processed asynchronously, clients can poll this endpoint using the original <code>task_id</code> until all program-level searches are complete.</p>\n<p>Each response contains:</p>\n<ul>\n<li><p>Award availability collected so far</p>\n</li>\n<li><p>Completed program-level search units</p>\n</li>\n<li><p>Task status and elapsed time</p>\n</li>\n<li><p>Metadata used to determine whether polling should continue</p>\n</li>\n</ul>\n<p>Results may arrive incrementally. Clients should aggregate the results returned across polling requests.</p>\n<h2 id=\"request-fields\">Request Fields</h2>\n<h3 id=\"task_id\"><code>task_id</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> Client-assigned identifier used to track a search and retrieve its results.</p>\n</li>\n<li><p><strong>Constraint:</strong> Must match the <code>task_id</code> supplied in the original real-time search request.</p>\n</li>\n</ul>\n<h3 id=\"api_key\"><code>api_key</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Required:</strong> Yes</p>\n</li>\n<li><p><strong>Description:</strong> API key used to authenticate the request.</p>\n</li>\n</ul>\n<h2 id=\"task-constraints\">Task Constraints</h2>\n<p>A client-defined <code>task_id</code> must be included in the original search request before results can be retrieved through this endpoint.</p>\n<p>A task may include either:</p>\n<ul>\n<li><p>Up to two travel dates across a maximum of 10 unique loyalty programs; or</p>\n</li>\n<li><p>One travel date across all supported loyalty programs.</p>\n</li>\n</ul>\n<p>Clients may poll this endpoint repeatedly until all searches associated with the task are complete.</p>\n<h2 id=\"response-fields\">Response Fields</h2>\n<h3 id=\"result\"><code>result</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Array of objects</p>\n</li>\n<li><p><strong>Description:</strong> Award-flight results returned during the current retrieval request.</p>\n</li>\n<li><p><strong>Notes:</strong> Results may be returned incrementally. Clients should aggregate results across polling responses and account for possible duplicate records.</p>\n</li>\n</ul>\n<h3 id=\"program_done\"><code>program_done</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Array of strings</p>\n</li>\n<li><p><strong>Description:</strong> Program-level search units that have completed processing and are represented in the results available so far.</p>\n</li>\n<li><p><strong>Format:</strong></p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>program|origin|destination|pax|date\n\n</code></pre><ul>\n<li><strong>Example:</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>DL|JFK|LHR|1|2024-02-14\n\n</code></pre><p>In this example:</p>\n<ul>\n<li><p><code>DL</code> — Loyalty-program code</p>\n</li>\n<li><p><code>JFK</code> — Origin airport</p>\n</li>\n<li><p><code>LHR</code> — Destination airport</p>\n</li>\n<li><p><code>1</code> — Number of passengers</p>\n</li>\n<li><p><code>2024-02-14</code> — Travel date</p>\n</li>\n</ul>\n<h3 id=\"finish\"><code>finish</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Boolean</p>\n</li>\n<li><p><strong>Description:</strong> Indicates whether the client should continue polling.</p>\n</li>\n<li><p><strong>Values:</strong></p>\n<ul>\n<li><p><code>true</code> — More processing or results remain. Continue polling.</p>\n</li>\n<li><p><code>false</code> — The task is fully complete. No additional results will be returned.</p>\n</li>\n</ul>\n</li>\n</ul>\n<blockquote>\n</blockquote>\n<p>Continue polling while <code>finish</code> is <code>true</code>. Stop when it becomes <code>false</code>.</p>\n<h3 id=\"time_elapsed\"><code>time_elapsed</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Number</p>\n</li>\n<li><p><strong>Description:</strong> Number of seconds elapsed since task processing began.</p>\n</li>\n</ul>\n<h3 id=\"has_next\"><code>has_next</code></h3>\n<ul>\n<li><strong>Description:</strong> Reserved for internal use. Clients should ignore this field.</li>\n</ul>\n<h3 id=\"task_done\"><code>task_done</code></h3>\n<ul>\n<li><strong>Description:</strong> Reserved for internal use. Clients should ignore this field.</li>\n</ul>\n<h2 id=\"result-object-fields\">Result Object Fields</h2>\n<p>Each object in <code>result</code> represents an award-flight itinerary.</p>\n<h3 id=\"date\"><code>date</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> Travel date in <code>YYYY-MM-DD</code> format.</p>\n</li>\n</ul>\n<h3 id=\"award_points\"><code>award_points</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Integer</p>\n</li>\n<li><p><strong>Description:</strong> Points required for a one-way award ticket for one adult.</p>\n</li>\n</ul>\n<h3 id=\"surcharge\"><code>surcharge</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Number</p>\n</li>\n<li><p><strong>Description:</strong> Taxes and carrier-imposed fees associated with the award ticket.</p>\n</li>\n</ul>\n<h3 id=\"cabin_type\"><code>cabin_type</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> Cabin class associated with the itinerary. Mixed-cabin itineraries may include multiple cabin names joined with an ampersand, such as <code>Economy &amp; Business</code>.</p>\n</li>\n</ul>\n<h3 id=\"airline_name\"><code>airline_name</code></h3>\n<ul>\n<li><p><strong>Type:</strong> String</p>\n</li>\n<li><p><strong>Description:</strong> Airline or airlines operating the itinerary.</p>\n</li>\n<li><p><strong>Notes:</strong> For itineraries involving multiple airlines, names are joined with an ampersand, such as <code>American Airlines &amp; United Airlines</code>.</p>\n</li>\n</ul>\n<h3 id=\"seats\"><code>seats</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Integer</p>\n</li>\n<li><p><strong>Description:</strong> Number of award seats known to be available at the displayed price.</p>\n</li>\n<li><p><strong>Notes:</strong></p>\n<ul>\n<li><p>This field is available only for supported loyalty programs.</p>\n</li>\n<li><p>A value of <code>-1</code> indicates that seat availability is unknown.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"fare\"><code>fare</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Object</p>\n</li>\n<li><p><strong>Description:</strong> Itinerary-level information, including total travel time and flight segments.</p>\n</li>\n</ul>\n<h3 id=\"fareproducts\"><code>fare.products</code></h3>\n<ul>\n<li><p><strong>Type:</strong> Array of objects</p>\n</li>\n<li><p><strong>Description:</strong> Ordered list of flight segments that make up the itinerary. Each object contains information about an individual flight leg, such as its airports, schedule, airline, flight number, aircraft, cabin, and duration.</p>\n</li>\n</ul>\n<h2 id=\"recommended-integration-flow\">Recommended Integration Flow</h2>\n<ol>\n<li><p>Submit one or more real-time search requests using a client-defined <code>task_id</code>.</p>\n</li>\n<li><p>Call this endpoint with the same <code>task_id</code>.</p>\n</li>\n<li><p>Store or aggregate the records returned in <code>result</code>.</p>\n</li>\n<li><p>Continue polling while <code>finish</code> is <code>true</code>.</p>\n</li>\n<li><p>Stop polling when <code>finish</code> becomes <code>false</code>.</p>\n</li>\n</ol>\n","urlObject":{"protocol":"https","path":["flight_retrieval","search_result"],"host":["apisv2","awardtoolapi","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4996315c-5f9a-4f0e-8eca-0e4facf3dc9f"},{"name":"Program Accuracy Stats","id":"d9a79b98-b183-4c66-b92b-72952d141cb1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"authority","value":"flight.awardinsightapi.com"},{"key":"accept","value":"application/json, text/plain, */*"},{"key":"accept-language","value":"en-US,en;q=0.9,zh-CN;q=0.8,zh-TW;q=0.7,zh;q=0.6"},{"key":"content-type","value":"application/json"},{"key":"sec-ch-ua","value":"\"Chromium\";v=\"116\", \"Not)A;Brand\";v=\"24\", \"Google Chrome\";v=\"116\""}],"body":{"mode":"raw","raw":"{\n    \"program\": \"AA\",\n    \"api_key\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://apisv2.awardtoolapi.com/api/program_stats_api","description":"<h2 id=\"overview\">Overview</h2>\n<p>The <strong>Program Accuracy Statistics API</strong> provides program-level accuracy metrics for supported airline loyalty programs. This endpoint allows clients to retrieve the current accuracy score for a specific program, enabling transparency into data reliability and operational performance.</p>\n<p>Accuracy metrics are calculated continuously based on internal validation and monitoring systems and are intended to help partners assess data quality for routing, analytics, and decision-making workflows.</p>\n<hr />\n<h2 id=\"authentication\">Authentication</h2>\n<p>All requests must include a valid <code>api_key</code>.</p>\n<hr />\n<h2 id=\"request\">Request</h2>\n<h3 id=\"request-body\">Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"program\": \"AA\",\n  \"api_key\": \"YOUR_API_KEY\"\n}\n\n</code></pre>\n<h3 id=\"request-fields\">Request Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>program</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Airline loyalty program code (e.g., <code>AA</code>, <code>DL</code>, <code>UA</code>).</td>\n</tr>\n<tr>\n<td><code>api_key</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>API key used to authenticate the request.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response\">Response</h2>\n<h3 id=\"successful-response\">Successful Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"accuracy\": \"99.77614326830829\",\n  \"machine\": \"APP_PLATFORM\",\n  \"status\": 200\n}\n\n</code></pre>\n<h3 id=\"response-fields\">Response Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>accuracy</code></td>\n<td>String</td>\n<td>Accuracy percentage for the specified program.</td>\n</tr>\n<tr>\n<td><code>machine</code></td>\n<td>String</td>\n<td>Source system or platform used to compute the metric.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Number</td>\n<td>HTTP-like status code indicating request success.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> Accuracy values are expressed as percentages and may change over time as new data is processed.</p>\n<hr />\n<h2 id=\"error-handling\">Error Handling</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>Invalid or missing request parameters</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Invalid API key</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Program not supported</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"usage-notes\">Usage Notes</h2>\n<ul>\n<li><p>Accuracy metrics are <strong>program-specific</strong> and should be interpreted independently.</p>\n</li>\n<li><p>This endpoint is intended for <strong>monitoring, analytics, and transparency</strong>, not for real-time availability decisions.</p>\n</li>\n<li><p>Accuracy values are informational and may vary as systems and airline sources change.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"example-use-cases\">Example Use Cases</h2>\n<ul>\n<li><p>Display program reliability indicators in partner dashboards</p>\n</li>\n<li><p>Filter or weight award search results based on program accuracy</p>\n</li>\n<li><p>Monitor data quality trends over time</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","program_stats_api"],"host":["apisv2","awardtoolapi","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d9a79b98-b183-4c66-b92b-72952d141cb1"},{"name":"API key usage","id":"389cae93-cb97-4f71-98d4-b3c0fb2882d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"api_key\": \"YOUR_API_KEY\"\n}","options":{"raw":{"language":"json"}}},"url":"https://apisv2.awardtoolapi.com/api/api_usage","description":"<h2 id=\"overview\">Overview</h2>\n<p>The <strong>API Usage Metrics API</strong> provides detailed, per-day usage statistics associated with a specific API key. This endpoint enables clients to monitor and audit their API consumption across supported AwardTool services, including Panorama data endpoints and real-time search operations.</p>\n<p>Usage data is aggregated by date and is intended for billing validation, quota monitoring, and operational transparency.</p>\n<hr />\n<h2 id=\"authentication\">Authentication</h2>\n<p>All requests must include a valid <code>api_key</code>.</p>\n<hr />\n<h2 id=\"request\">Request</h2>\n<h3 id=\"request-body\">Request Body</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"api_key\": \"YOUR_API_KEY\"\n}\n\n</code></pre>\n<h3 id=\"request-fields\">Request Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>api_key</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>API key for which usage statistics are being requested.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response\">Response</h2>\n<h3 id=\"successful-response\">Successful Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": [\n    {\n      \"date\": \"2023-12-11\",\n      \"api_key\": \"683de76f-2e37-4253-8dbf-fd88b507bbc4\",\n      \"panorama_flight_data\": 1,\n      \"panorama_calendar_data\": 1,\n      \"panorama_route_data\": 1,\n      \"real_time_search\": 3\n    },\n    {\n      \"date\": \"2023-12-12\",\n      \"api_key\": \"683de76f-2e37-4253-8dbf-fd88b507bbc4\",\n      \"panorama_calendar_data\": 1,\n      \"api_usage\": 2\n    }\n  ],\n  \"status\": 200\n}\n\n</code></pre>\n<hr />\n<h2 id=\"response-fields\">Response Fields</h2>\n<h3 id=\"top-level-fields\">Top-Level Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data</code></td>\n<td>Array</td>\n<td>List of daily usage records associated with the API key.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Number</td>\n<td>HTTP-like status code indicating request success.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"daily-usage-record-fields\">Daily Usage Record Fields</h3>\n<p>Each object in the <code>data</code> array represents usage metrics for a specific date.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date</code></td>\n<td>String</td>\n<td>Usage date (YYYY-MM-DD).</td>\n</tr>\n<tr>\n<td><code>api_key</code></td>\n<td>String</td>\n<td>API key associated with the usage record.</td>\n</tr>\n<tr>\n<td><code>panorama_flight_data</code></td>\n<td>Number</td>\n<td>Number of Panorama flight data requests.</td>\n</tr>\n<tr>\n<td><code>panorama_calendar_data</code></td>\n<td>Number</td>\n<td>Number of Panorama calendar data requests.</td>\n</tr>\n<tr>\n<td><code>panorama_route_data</code></td>\n<td>Number</td>\n<td>Number of Panorama route data requests.</td>\n</tr>\n<tr>\n<td><code>real_time_search</code></td>\n<td>Number</td>\n<td>Number of real-time search requests.</td>\n</tr>\n<tr>\n<td><code>api_usage</code></td>\n<td>Number</td>\n<td>Number of API usage retrieval calls (this endpoint).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> Fields may vary by date depending on which services were accessed on that day. Missing fields indicate zero usage for that category.</p>\n<hr />\n<h2 id=\"usage-notes\">Usage Notes</h2>\n<ul>\n<li><p>Usage data is aggregated <strong>per day</strong> and <strong>per API key</strong>.</p>\n</li>\n<li><p>Counts reflect <strong>successful API calls</strong> only.</p>\n</li>\n<li><p>This endpoint is intended for <strong>monitoring and reporting</strong> purposes and does not modify usage quotas.</p>\n</li>\n<li><p>Historical usage availability may be subject to retention limits.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"common-use-cases\">Common Use Cases</h2>\n<ul>\n<li><p>Validate monthly usage against contractual limits</p>\n</li>\n<li><p>Power internal billing and invoicing workflows</p>\n</li>\n<li><p>Monitor consumption trends and optimize API usage</p>\n</li>\n<li><p>Display usage dashboards for enterprise clients</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"error-handling\">Error Handling</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400</td>\n<td>Invalid or missing API key</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Unauthorized access</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","api_usage"],"host":["apisv2","awardtoolapi","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"389cae93-cb97-4f71-98d4-b3c0fb2882d9"}]}