{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/nowinfinity/resources/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Following links"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"following-links","__idx":0},"children":["Following links"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Resources returned by the Partner API include a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Links"]}," array describing what you can do next with that resource, and where the related data lives. This follows the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://en.wikipedia.org/wiki/HATEOAS"},"children":["HATEOAS"]}," principle: the response tells you what is available rather than requiring you to construct URLs yourself."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-link-model","__idx":1},"children":["The link model"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each entry has four properties:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Property"},"children":["Property"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Rel"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The relationship to the current resource — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["self"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["form"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["files"]}," and so on."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Href"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The URL."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Action"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The HTTP method to use."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MediaType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The media type of the linked resource."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"OrderId\": \"fc4c2871-90a6-f111-ab47-0642df0a324c\",\n  \"Links\": [\n    {\n      \"Rel\": \"self\",\n      \"Href\": \"https://partnerapi.nowinfinity-test.com.au/v1.0/documents/fc4c2871-90a6-f111-ab47-0642df0a324c\",\n      \"Action\": \"GET\",\n      \"MediaType\": \"application/json\"\n    },\n    {\n      \"Rel\": \"files\",\n      \"Href\": \"https://partnerapi.nowinfinity-test.com.au/v1.0/documents/fc4c2871-90a6-f111-ab47-0642df0a324c/files\",\n      \"Action\": \"GET\",\n      \"MediaType\": \"application/json\"\n    },\n    {\n      \"Rel\": \"document-webpage\",\n      \"Href\": \"https://tornado.nowinfinity-test.com.au/#/documents/fc4c2871-90a6-f111-ab47-0642df0a324c/collaboration\",\n      \"Action\": \"GET\",\n      \"MediaType\": \"text/html\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"two-kinds-of-link","__idx":2},"children":["Two kinds of link"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API links"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MediaType: application/json"]},") point at other Partner API endpoints — the resource itself, its related form, its generated files."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web links"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MediaType: text/html"]},") point at the NowInfinity platform UI. These are for opening the record in a browser, not for calling programmatically. They are useful if your product offers customers a \"view in NowInfinity\" action."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MediaType"]}," before doing anything with a link. Sending a Bearer token to a web page will not do what you want."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"using-links","__idx":3},"children":["Using links"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Prefer following a link over building the URL yourself. Constructing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/v1/documents/{id}/files"]}," by hand works today, but a link that came back with the resource is correct by definition."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"1. Create a form           → response includes Links\n2. Find Rel: \"self\"        → the document\n3. POST to /forms/process  → generation starts\n4. Find Rel: \"files\"       → poll until the files are ready\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Match on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Rel"]},", not array position. The set of links returned varies by resource type and state, and the order is not guaranteed."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related","__idx":4},"children":["Related"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/nowinfinity/resources/api-structure"},"children":["API structure"]}," — endpoints and status codes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/nowinfinity/resources/error-codes"},"children":["Error codes"]}," — handling failures."]}]}]},"headings":[{"value":"Following links","id":"following-links","depth":1},{"value":"The link model","id":"the-link-model","depth":2},{"value":"Two kinds of link","id":"two-kinds-of-link","depth":2},{"value":"Using links","id":"using-links","depth":2},{"value":"Related","id":"related","depth":2}],"frontmatter":{"title":"Following links","description":"Use the Links array returned with each resource to discover related data and available actions.","seo":{"title":"Following links"}},"lastModified":"2026-09-03T05:27:57.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/nowinfinity/resources/following-links","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}