[{"data":1,"prerenderedAt":526},["ShallowReactive",2],{"content-\u002Fv2\u002Fwebhooks":3},{"id":4,"title":5,"body":6,"description":16,"extension":520,"meta":521,"navigation":104,"path":522,"seo":523,"stem":524,"__hash__":525},"content\u002Fv2\u002Fwebhooks.md","Webhooks",{"type":7,"value":8,"toc":510},"minimark",[9,13,17,22,25,48,51,55,76,172,177,184,265,269,301,304,331,334,337,340,452,498,506],[10,11,5],"h1",{"id":12},"webhooks",[14,15,16],"p",{},"Webhooks let Rently notify you when something changes on its side, such as an application's status, so you don't have to keep polling the API.",[18,19,21],"h2",{"id":20},"registering-a-webhook","Registering a webhook",[14,23,24],{},"Webhooks are not self-service yet. To register one, contact the Rently tech team with:",[26,27,28,38,41],"ul",{},[29,30,31,32,37],"li",{},"The environment: Test or Production (see ",[33,34,36],"a",{"href":35},"\u002Fv2\u002Fget-started#environments","Environments",").",[29,39,40],{},"The HTTPS URL Rently should send events to.",[29,42,43,44,37],{},"The event types you want to receive (see ",[33,45,47],{"href":46},"#event-types","Event types",[14,49,50],{},"Rently confirms once the webhook is active. Contact the same team to change or remove it.",[18,52,54],{"id":53},"how-webhooks-work","How webhooks work",[56,57,58,61,69],"ol",{},[29,59,60],{},"Something happens on Rently, e.g. Rently's team approves an application.",[29,62,63,64,68],{},"Rently sends an HTTP ",[65,66,67],"code",{},"POST"," request to your registered URL with a JSON body describing the event.",[29,70,71,72,75],{},"Your endpoint responds with a ",[65,73,74],{},"2xx"," status to acknowledge it.",[77,78,83],"pre",{"className":79,"code":80,"language":81,"meta":82,"style":82},"language-http shiki shiki-themes github-light github-dark","POST https:\u002F\u002Fyour-domain.example.com\u002Frently\u002Fwebhooks\nContent-Type: application\u002Fjson\n\n{\n  \"eventId\": \"ebcd1398-1a5d-4b7c-9aa2-77b93e9acfb8\",\n  \"eventType\": \"ApplicationStatusChangeEvent\",\n  \"data\": {\n    \"id\": \"a3f935af-1ca7-409f-b7cb-530e2b2699a2\",\n    \"previousStatus\": \"pending\",\n    \"status\": \"approved\"\n  },\n  \"dataVersion\": \"1.0\",\n  \"eventTime\": \"2026-10-08T12:22:08.8655257+00:00\"\n}\n","http","",[65,84,85,93,99,106,112,118,124,130,136,142,148,154,160,166],{"__ignoreMap":82},[86,87,90],"span",{"class":88,"line":89},"line",1,[86,91,92],{},"POST https:\u002F\u002Fyour-domain.example.com\u002Frently\u002Fwebhooks\n",[86,94,96],{"class":88,"line":95},2,[86,97,98],{},"Content-Type: application\u002Fjson\n",[86,100,102],{"class":88,"line":101},3,[86,103,105],{"emptyLinePlaceholder":104},true,"\n",[86,107,109],{"class":88,"line":108},4,[86,110,111],{},"{\n",[86,113,115],{"class":88,"line":114},5,[86,116,117],{},"  \"eventId\": \"ebcd1398-1a5d-4b7c-9aa2-77b93e9acfb8\",\n",[86,119,121],{"class":88,"line":120},6,[86,122,123],{},"  \"eventType\": \"ApplicationStatusChangeEvent\",\n",[86,125,127],{"class":88,"line":126},7,[86,128,129],{},"  \"data\": {\n",[86,131,133],{"class":88,"line":132},8,[86,134,135],{},"    \"id\": \"a3f935af-1ca7-409f-b7cb-530e2b2699a2\",\n",[86,137,139],{"class":88,"line":138},9,[86,140,141],{},"    \"previousStatus\": \"pending\",\n",[86,143,145],{"class":88,"line":144},10,[86,146,147],{},"    \"status\": \"approved\"\n",[86,149,151],{"class":88,"line":150},11,[86,152,153],{},"  },\n",[86,155,157],{"class":88,"line":156},12,[86,158,159],{},"  \"dataVersion\": \"1.0\",\n",[86,161,163],{"class":88,"line":162},13,[86,164,165],{},"  \"eventTime\": \"2026-10-08T12:22:08.8655257+00:00\"\n",[86,167,169],{"class":88,"line":168},14,[86,170,171],{},"}\n",[173,174,176],"h3",{"id":175},"event-envelope","Event envelope",[14,178,179,180,183],{},"Every event has the same envelope; only ",[65,181,182],{},"data"," depends on the event type.",[185,186,187,200],"table",{},[188,189,190],"thead",{},[191,192,193,197],"tr",{},[194,195,196],"th",{},"Field",[194,198,199],{},"Meaning",[201,202,203,214,230,239,255],"tbody",{},[191,204,205,211],{},[206,207,208],"td",{},[65,209,210],{},"eventId",[206,212,213],{},"Unique id of the event. Use it to detect events you have already processed.",[191,215,216,221],{},[206,217,218],{},[65,219,220],{},"eventType",[206,222,223,224,226,227,229],{},"What happened. Decides the shape of ",[65,225,182],{},". See ",[33,228,47],{"href":46},".",[191,231,232,236],{},[206,233,234],{},[65,235,182],{},[206,237,238],{},"The event's payload.",[191,240,241,246],{},[206,242,243],{},[65,244,245],{},"dataVersion",[206,247,248,249,251,252,229],{},"Version of the ",[65,250,182],{}," schema for this event type, e.g. ",[65,253,254],{},"1.0",[191,256,257,262],{},[206,258,259],{},[65,260,261],{},"eventTime",[206,263,264],{},"When the event happened, in ISO 8601 with a UTC offset.",[173,266,268],{"id":267},"handling-events","Handling events",[26,270,271,277,283,286,295],{},[29,272,273,274,276],{},"Respond with ",[65,275,74],{}," quickly and do any heavy processing afterwards.",[29,278,279,280,282],{},"Use ",[65,281,210],{}," to skip events you have already handled.",[29,284,285],{},"Ignore event types you don't recognise. New event types will be added over time.",[29,287,288,289,291,292,294],{},"Check ",[65,290,245],{}," before reading ",[65,293,182],{},", so a future version of an event doesn't break your handler.",[29,296,297,298,229],{},"Treat the event as a notification. To get the full, current state, read the resource from the API, e.g. ",[65,299,300],{},"GET \u002Fv2\u002Fae\u002Frnpl\u002F{productFlowId}",[18,302,47],{"id":303},"event-types",[185,305,306,316],{},[188,307,308],{},[191,309,310,313],{},[194,311,312],{},"Event type",[194,314,315],{},"Sent when",[201,317,318],{},[191,319,320,328],{},[206,321,322],{},[33,323,325],{"href":324},"#applicationstatuschangeevent",[65,326,327],{},"ApplicationStatusChangeEvent",[206,329,330],{},"An application's status changes.",[14,332,333],{},"More event types will be added in the future.",[173,335,327],{"id":336},"applicationstatuschangeevent",[14,338,339],{},"Sent every time an application moves from one status to another, e.g. when Rently's team approves it, rejects it or asks for more documents.",[77,341,345],{"className":342,"code":343,"language":344,"meta":82,"style":82},"language-json shiki shiki-themes github-light github-dark","{\n  \"eventId\": \"ebcd1398-1a5d-4b7c-9aa2-77b93e9acfb8\",\n  \"eventType\": \"ApplicationStatusChangeEvent\",\n  \"data\": {\n    \"id\": \"a3f935af-1ca7-409f-b7cb-530e2b2699a2\",\n    \"previousStatus\": \"pending\",\n    \"status\": \"approved\"\n  },\n  \"dataVersion\": \"1.0\",\n  \"eventTime\": \"2026-10-08T12:22:08.8655257+00:00\"\n}\n","json",[65,346,347,352,368,380,388,400,412,422,426,438,448],{"__ignoreMap":82},[86,348,349],{"class":88,"line":89},[86,350,111],{"class":351},"sVt8B",[86,353,354,358,361,365],{"class":88,"line":95},[86,355,357],{"class":356},"sj4cs","  \"eventId\"",[86,359,360],{"class":351},": ",[86,362,364],{"class":363},"sZZnC","\"ebcd1398-1a5d-4b7c-9aa2-77b93e9acfb8\"",[86,366,367],{"class":351},",\n",[86,369,370,373,375,378],{"class":88,"line":101},[86,371,372],{"class":356},"  \"eventType\"",[86,374,360],{"class":351},[86,376,377],{"class":363},"\"ApplicationStatusChangeEvent\"",[86,379,367],{"class":351},[86,381,382,385],{"class":88,"line":108},[86,383,384],{"class":356},"  \"data\"",[86,386,387],{"class":351},": {\n",[86,389,390,393,395,398],{"class":88,"line":114},[86,391,392],{"class":356},"    \"id\"",[86,394,360],{"class":351},[86,396,397],{"class":363},"\"a3f935af-1ca7-409f-b7cb-530e2b2699a2\"",[86,399,367],{"class":351},[86,401,402,405,407,410],{"class":88,"line":120},[86,403,404],{"class":356},"    \"previousStatus\"",[86,406,360],{"class":351},[86,408,409],{"class":363},"\"pending\"",[86,411,367],{"class":351},[86,413,414,417,419],{"class":88,"line":126},[86,415,416],{"class":356},"    \"status\"",[86,418,360],{"class":351},[86,420,421],{"class":363},"\"approved\"\n",[86,423,424],{"class":88,"line":132},[86,425,153],{"class":351},[86,427,428,431,433,436],{"class":88,"line":138},[86,429,430],{"class":356},"  \"dataVersion\"",[86,432,360],{"class":351},[86,434,435],{"class":363},"\"1.0\"",[86,437,367],{"class":351},[86,439,440,443,445],{"class":88,"line":144},[86,441,442],{"class":356},"  \"eventTime\"",[86,444,360],{"class":351},[86,446,447],{"class":363},"\"2026-10-08T12:22:08.8655257+00:00\"\n",[86,449,450],{"class":88,"line":150},[86,451,171],{"class":351},[185,453,454,462],{},[188,455,456],{},[191,457,458,460],{},[194,459,196],{},[194,461,199],{},[201,463,464,478,488],{},[191,465,466,471],{},[206,467,468],{},[65,469,470],{},"data.id",[206,472,473,474,477],{},"The application id: the ",[65,475,476],{},"productFlowId"," returned when the application was created.",[191,479,480,485],{},[206,481,482],{},[65,483,484],{},"data.previousStatus",[206,486,487],{},"The status the application moved from.",[191,489,490,495],{},[206,491,492],{},[65,493,494],{},"data.status",[206,496,497],{},"The status the application is in now.",[14,499,500,501,505],{},"For the possible statuses and what each one means, see ",[33,502,504],{"href":503},"\u002Fv2\u002Fae-rnpl#the-flow-at-a-glance","The flow at a glance"," in the AE RNPL guide.",[507,508,509],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":82,"searchDepth":95,"depth":95,"links":511},[512,513,517],{"id":20,"depth":95,"text":21},{"id":53,"depth":95,"text":54,"children":514},[515,516],{"id":175,"depth":101,"text":176},{"id":267,"depth":101,"text":268},{"id":303,"depth":95,"text":47,"children":518},[519],{"id":336,"depth":101,"text":327},"md",{},"\u002Fv2\u002Fwebhooks",{"title":5,"description":16},"v2\u002Fwebhooks","rQkebZef8nePWQtS73Muh1zJxP8KF3i63EKEYe72RTU",1791463212656]