{"id":5876,"date":"2026-10-11T04:32:51","date_gmt":"2026-10-11T04:32:51","guid":{"rendered":"https:\/\/ranaghazzi.com\/?p=5876"},"modified":"2026-10-11T04:52:47","modified_gmt":"2026-10-11T04:52:47","slug":"trigger-types-in-databricks-jobs-vs-pipelines","status":"publish","type":"post","link":"https:\/\/ranaghazzi.com\/?p=5876","title":{"rendered":"Trigger Types in Databricks: Jobs vs. Pipelines"},"content":{"rendered":"<p><style>\n    .light-font-container, .light-font-container p, .light-font-container h2, .light-font-container li {<br \/>\n        font-weight: #FFFFFF !important;<br \/>\n    }<br \/>\n<\/style>\n<\/p>\n<div class=\"light-font-container\" style=\"background-color: #FFFFFF; padding: 40px; border-radius: 15px;\">\n\n\n<h2 class=\"wp-block-heading\">Trigger Types in Databricks: Jobs vs. Pipelines<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><em>October 11, 2026<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Two Different Things Called \u201cTrigger\u201d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Databricks has two separate layers that both use the word \u201ctrigger,\u201d and conflating them is the most common source of confusion:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Job triggers<\/strong> \u2014 decide <em>when<\/em> a Databricks Job runs at all: on a schedule, when a file lands, when a table changes, or continuously.<\/li>\n\n\n\n<li><strong>Pipeline execution mode<\/strong> \u2014 a setting <em>inside<\/em> an LDP (Lakeflow Declarative Pipelines, formerly DLT) pipeline that decides whether, once started, it processes available data once and stops (<strong>Triggered<\/strong>) or keeps running and picking up new data forever (<strong>Continuous<\/strong>).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">A Job can wrap a Pipeline task, a notebook, a Python script, or plain Structured Streaming code \u2014 the Job trigger controls <em>when that task starts<\/em>; what happens <em>after<\/em> it starts depends entirely on what\u2019s inside the task.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Four Job Trigger Types<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Scheduled<\/strong> \u2014 runs on a cron expression you define.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Classic \u201cevery hour \/ every night at 2am\u201d behavior. Good default when you don\u2019t have (or need) an event signal \u2014 e.g. a nightly batch rollup.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">\"schedule\": {\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>File arrival<\/strong> \u2014 runs automatically when new files land in a cloud storage path, using file-notification events rather than polling.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">\"trigger\": {\n  \"file_arrival\": {\n    \"url\": \"s3:\/\/my-bucket\/raw-landing\/\",\n    \"min_time_between_triggers_seconds\": 60,\n    \"wait_after_last_change_seconds\": 30\n  }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">wait_after_last_change_seconds debounces a burst of file writes (e.g. a batch upload dropping 200 files) so you don\u2019t fire the job 200 times \u2014 it waits for the writes to settle before triggering once. Natural fit for a bronze ingestion job sitting on top of a raw landing zone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Table change<\/strong> \u2014 runs automatically when a specified Delta\/Unity Catalog table receives new committed data, detected via the table\u2019s own commit history rather than watching files.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">\"trigger\": {\n  \"table_update\": {\n    \"table_names\": [\"main.bronze.raw_events\"],\n    \"min_time_between_triggers_seconds\": 60,\n    \"wait_after_last_change_seconds\": 30\n  }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Use this instead of File arrival when your input is already a Delta table another pipeline maintains \u2014 you don\u2019t need to watch raw files when the table\u2019s commit log already tells you \u201csomething changed.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Continuous<\/strong> \u2014 the job runs forever, restarting automatically on failure, instead of running-and-stopping per trigger.<\/p>\n\n\n\n<pre class=\"wp-block-verse\">\"continuous\": {\n  \"pause_status\": \"UNPAUSED\"\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This is the odd one out: the other three are about <em>when<\/em> to start a bounded run; Continuous means there\u2019s no \u201cbounded run\u201d at all. Which is exactly where the restriction we ran into comes from \u2014<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>Task dependencies are not allowed for continuous jobs, remove them to convert to a continuous job.<\/em><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">A continuous job must be a single task with no upstream\/downstream dependencies, because \u201cwait for task A, then run task B\u201d doesn\u2019t mean anything for something that never stops.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where This Gets Confusing: Job Trigger vs. Pipeline Mode<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s the part that trips people up. Suppose you have a Job with one task, and that task runs an LDP pipeline. You now have <strong>two<\/strong> \u201cis this continuous?\u201d settings that look related but aren\u2019t the same knob:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>Controls<\/th><th>Lives on<\/th><\/tr><\/thead><tbody><tr><td>Job trigger = Continuous<\/td><td>Whether the <em>job<\/em> keeps restarting the task forever<\/td><td>The Job<\/td><\/tr><tr><td>Pipeline execution mode = Continuous<\/td><td>Whether the <em>pipeline<\/em>, once started, keeps processing new data forever<\/td><td>The Pipeline<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If your pipeline\u2019s own mode is already <strong>Continuous<\/strong>, the pipeline runs forever on its own the moment it\u2019s started \u2014 the Job task that launched it doesn\u2019t need the Job\u2019s trigger to also be Continuous. In fact, setting both tends to be redundant (and if the task has dependencies, outright blocked by the restriction above). A simple one-time \u201crun now\u201d or a basic Scheduled trigger is usually enough to kick off a Continuous-mode pipeline; the pipeline handles staying alive from there.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your pipeline\u2019s own mode is <strong>Triggered<\/strong>, it processes whatever\u2019s currently available, then stops \u2014 here the Job trigger is doing real work, because it\u2019s the only thing deciding how often a fresh run happens. File arrival or Table change are good matches: \u201cnew data showed up, go run a Triggered pipeline update.\u201d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Where Raw Structured Streaming Differs<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This two-layer split only exists because LDP pipelines have their own internal mode. A plain Structured Streaming script (a notebook calling .writeStream.start() + .awaitTermination()) has no such internal setting \u2014 it\u2019s just code that blocks until it\u2019s stopped or crashes. For that kind of task, <strong>the Job trigger is the only lifecycle control you get<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Continuous<\/strong> job trigger = your only way to get \u201crestart automatically if this stream dies.\u201d<\/li>\n\n\n\n<li><strong>Scheduled \/ File arrival \/ Table change<\/strong> = the job runs the script once per trigger event \u2014 typically written with .trigger(availableNow=True) so each run processes what\u2019s currently available and then exits cleanly, turning an otherwise-continuous stream into a series of discrete batch-style runs.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">So the same four trigger options exist for both kinds of tasks, but they mean something different underneath: for LDP, the Job trigger decides <em>when to ask the pipeline to run<\/em>; for raw Structured Streaming, the Job trigger decides <em>the entire run\/restart lifecycle<\/em>, because there\u2019s no pipeline layer underneath providing that for free.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Decision Guide<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Scenario<\/th><th>Use<\/th><\/tr><\/thead><tbody><tr><td>Nightly\/periodic batch rollup, no urgency<\/td><td>Scheduled<\/td><\/tr><tr><td>Bronze ingestion from a raw file landing zone<\/td><td>File arrival<\/td><\/tr><tr><td>Downstream job depends on an upstream Delta table, not raw files<\/td><td>Table change<\/td><\/tr><tr><td>A single always-on task with no dependencies that must never stay down<\/td><td>Continuous (job-level)<\/td><\/tr><tr><td>LDP pipeline that should always be live<\/td><td>Continuous (pipeline execution mode) + a simple one-time\/Scheduled job trigger to launch it<\/td><\/tr><tr><td>LDP pipeline that only needs to catch up periodically<\/td><td>Triggered (pipeline mode) + File arrival \/ Table change \/ Scheduled job trigger<\/td><\/tr><tr><td>Raw Structured Streaming script that must always be running<\/td><td>Continuous (job-level) \u2014 this is doing the real work here<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">TL;DR<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Databricks has two separate \u201ctrigger\u201d concepts: <strong>Job triggers<\/strong> (Scheduled, File arrival, Table change, Continuous) decide <em>when a job runs<\/em>; <strong>Pipeline execution mode<\/strong> (Triggered vs Continuous) decides <em>how an LDP pipeline behaves once started<\/em>.<\/li>\n\n\n\n<li>A Continuous job trigger requires a single task with no dependencies \u2014 you can\u2019t mix \u201cruns forever\u201d with \u201ctask B waits for task A.\u201d<\/li>\n\n\n\n<li>For an LDP pipeline, the pipeline\u2019s own mode is the primary lifecycle control; the Job trigger mostly just decides when to kick off an update.<\/li>\n\n\n\n<li>For a raw Structured Streaming script, there\u2019s no equivalent pipeline-level mode \u2014 the Job\u2019s trigger type is the entire lifecycle control, including restart-on-failure behavior.<\/li>\n\n\n\n<li>Match the trigger to the actual data-arrival pattern: files \u2192 File arrival, upstream Delta table \u2192 Table change, no natural event signal \u2192 Scheduled, always-on single task \u2192 Continuous.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Trigger Types in Databricks: Jobs vs. Pipelines October 11, 2026 Two Different Things Called \u201cTrigger\u201d Databricks has two separate layers that both use the word \u201ctrigger,\u201d and conflating them is the most common source of confusion: A Job can wrap a Pipeline task, a notebook, a Python script, or plain Structured Streaming code \u2014 the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5876","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Trigger Types in Databricks: Jobs vs. Pipelines - Rana Nasri Ghazzi<\/title>\n<meta name=\"description\" content=\"Explore Rana Ghazzi&#039;s data analytics portfolio \u2014 dashboards, visualizations, and insights built with Tableau, Power BI &amp; Python.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ranaghazzi.com\/?p=5876\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trigger Types in Databricks: Jobs vs. Pipelines - Rana Nasri Ghazzi\" \/>\n<meta property=\"og:description\" content=\"Explore Rana Ghazzi&#039;s data analytics portfolio \u2014 dashboards, visualizations, and insights built with Tableau, Power BI &amp; Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ranaghazzi.com\/?p=5876\" \/>\n<meta property=\"og:site_name\" content=\"Rana Nasri Ghazzi\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-11T04:32:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-11T04:52:47+00:00\" \/>\n<meta name=\"author\" content=\"Rana Ghazzi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rana Ghazzi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876\"},\"author\":{\"name\":\"Rana Ghazzi\",\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/#\\\/schema\\\/person\\\/d8ee34f53cb0df9faaf816fb5363a4cc\"},\"headline\":\"Trigger Types in Databricks: Jobs vs. Pipelines\",\"datePublished\":\"2026-10-11T04:32:51+00:00\",\"dateModified\":\"2026-10-11T04:52:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876\"},\"wordCount\":1042,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/#\\\/schema\\\/person\\\/d8ee34f53cb0df9faaf816fb5363a4cc\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876\",\"url\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876\",\"name\":\"Trigger Types in Databricks: Jobs vs. Pipelines - Rana Nasri Ghazzi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/#website\"},\"datePublished\":\"2026-10-11T04:32:51+00:00\",\"dateModified\":\"2026-10-11T04:52:47+00:00\",\"description\":\"Explore Rana Ghazzi's data analytics portfolio \u2014 dashboards, visualizations, and insights built with Tableau, Power BI & Python.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/?p=5876#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ranaghazzi.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trigger Types in Databricks: Jobs vs. Pipelines\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/#website\",\"url\":\"https:\\\/\\\/ranaghazzi.com\\\/\",\"name\":\"Rana Nasri Ghazzi\",\"description\":\"Turning Data into Decisions\",\"publisher\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/#\\\/schema\\\/person\\\/d8ee34f53cb0df9faaf816fb5363a4cc\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ranaghazzi.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/#\\\/schema\\\/person\\\/d8ee34f53cb0df9faaf816fb5363a4cc\",\"name\":\"Rana Ghazzi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/logo.png\",\"url\":\"https:\\\/\\\/ranaghazzi.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/ranaghazzi.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/logo.png\",\"width\":1024,\"height\":1024,\"caption\":\"Rana Ghazzi\"},\"logo\":{\"@id\":\"https:\\\/\\\/ranaghazzi.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/logo.png\"},\"url\":\"https:\\\/\\\/ranaghazzi.com\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Trigger Types in Databricks: Jobs vs. Pipelines - Rana Nasri Ghazzi","description":"Explore Rana Ghazzi's data analytics portfolio \u2014 dashboards, visualizations, and insights built with Tableau, Power BI & Python.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ranaghazzi.com\/?p=5876","og_locale":"en_US","og_type":"article","og_title":"Trigger Types in Databricks: Jobs vs. Pipelines - Rana Nasri Ghazzi","og_description":"Explore Rana Ghazzi's data analytics portfolio \u2014 dashboards, visualizations, and insights built with Tableau, Power BI & Python.","og_url":"https:\/\/ranaghazzi.com\/?p=5876","og_site_name":"Rana Nasri Ghazzi","article_published_time":"2026-10-11T04:32:51+00:00","article_modified_time":"2026-10-11T04:52:47+00:00","author":"Rana Ghazzi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rana Ghazzi","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ranaghazzi.com\/?p=5876#article","isPartOf":{"@id":"https:\/\/ranaghazzi.com\/?p=5876"},"author":{"name":"Rana Ghazzi","@id":"https:\/\/ranaghazzi.com\/#\/schema\/person\/d8ee34f53cb0df9faaf816fb5363a4cc"},"headline":"Trigger Types in Databricks: Jobs vs. Pipelines","datePublished":"2026-10-11T04:32:51+00:00","dateModified":"2026-10-11T04:52:47+00:00","mainEntityOfPage":{"@id":"https:\/\/ranaghazzi.com\/?p=5876"},"wordCount":1042,"commentCount":0,"publisher":{"@id":"https:\/\/ranaghazzi.com\/#\/schema\/person\/d8ee34f53cb0df9faaf816fb5363a4cc"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ranaghazzi.com\/?p=5876#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ranaghazzi.com\/?p=5876","url":"https:\/\/ranaghazzi.com\/?p=5876","name":"Trigger Types in Databricks: Jobs vs. Pipelines - Rana Nasri Ghazzi","isPartOf":{"@id":"https:\/\/ranaghazzi.com\/#website"},"datePublished":"2026-10-11T04:32:51+00:00","dateModified":"2026-10-11T04:52:47+00:00","description":"Explore Rana Ghazzi's data analytics portfolio \u2014 dashboards, visualizations, and insights built with Tableau, Power BI & Python.","breadcrumb":{"@id":"https:\/\/ranaghazzi.com\/?p=5876#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ranaghazzi.com\/?p=5876"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ranaghazzi.com\/?p=5876#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ranaghazzi.com\/"},{"@type":"ListItem","position":2,"name":"Trigger Types in Databricks: Jobs vs. Pipelines"}]},{"@type":"WebSite","@id":"https:\/\/ranaghazzi.com\/#website","url":"https:\/\/ranaghazzi.com\/","name":"Rana Nasri Ghazzi","description":"Turning Data into Decisions","publisher":{"@id":"https:\/\/ranaghazzi.com\/#\/schema\/person\/d8ee34f53cb0df9faaf816fb5363a4cc"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ranaghazzi.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/ranaghazzi.com\/#\/schema\/person\/d8ee34f53cb0df9faaf816fb5363a4cc","name":"Rana Ghazzi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ranaghazzi.com\/wp-content\/uploads\/2025\/11\/logo.png","url":"https:\/\/ranaghazzi.com\/wp-content\/uploads\/2025\/11\/logo.png","contentUrl":"https:\/\/ranaghazzi.com\/wp-content\/uploads\/2025\/11\/logo.png","width":1024,"height":1024,"caption":"Rana Ghazzi"},"logo":{"@id":"https:\/\/ranaghazzi.com\/wp-content\/uploads\/2025\/11\/logo.png"},"url":"https:\/\/ranaghazzi.com\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=\/wp\/v2\/posts\/5876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5876"}],"version-history":[{"count":7,"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=\/wp\/v2\/posts\/5876\/revisions"}],"predecessor-version":[{"id":5884,"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=\/wp\/v2\/posts\/5876\/revisions\/5884"}],"wp:attachment":[{"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ranaghazzi.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}