Generates an export from a completed nesting result and delivers it asynchronously to your webhook.
This call does not return the export in the response body. It validates the request up front, queues the export, and returns immediately with { "Success": true }. When the export has been generated it is POSTed to the WebHookUri you supply.
The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below.
Use ResponseType to choose what is produced. Each type requires the matching settings block to have been supplied on the original nesting request (a missing block is rejected up front):
Result (0) — part-placement details for the result. No settings required.
Render (1) — a base64-encoded render (SVG or PNG) of the layout. Requires RenderSettings.
DXF (2) — a base64-encoded DXF file of the nested layout. Requires DXFExportSettings.
ReportSource (3) — statistics and base64 renderings for report generation. Requires ReportSourceSettings.
RemnantExport (4) — a base64-encoded zip of DXF files representing the remnants. Requires RemnantGenerationSettings.
Runtime (5) — information about the result together with a render. See ReportSourceRenderingSettings below: on a GET it uses the original request’s ReportSourceSettings (rejected if none were supplied); POST to this endpoint to supply the render settings on the call itself.
PartsExport (6) — a DXF export of the individual part geometry. Requires PartExportSettings.
Each ResponseType may be requested once per result by default; requesting an export you have already requested returns an error.
The URL the generated export is POSTed to when it is ready. Required, and must be an absolute HTTPS URL — without it the export has nowhere to be delivered.
Uri
Body
application/json
Render settings for a Runtime export, supplied on a POST to this endpoint. When omitted (and always on a GET) the original nesting request's ReportSourceSettings are used instead; a Runtime export with neither is rejected. Ignored for every other ResponseType.
Settings for the renderings generated for a ReportSource: the per-nest layout render and the per-part preview render, plus how parts are labelled.
How each part is labelled in the nest rendering (none, identifier, or part name). Values: None — No part labels; ID — Label each part with its identifier; PartName — Label each part with its part name.
true if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a POST to your WebHookUri.
Error detail when Success is false; otherwise null.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"NestAPI Documentation","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/dev-nestapi/UAxgnvyRVTOip4yc/images/logo-light.svg?fit=max\u0026auto=format\u0026n=UAxgnvyRVTOip4yc\u0026q=85\u0026s=570d4e4a3fdf3b7f0ba2c4034ec4d91d","dark":"https://mintcdn.com/dev-nestapi/UAxgnvyRVTOip4yc/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=UAxgnvyRVTOip4yc\u0026q=85\u0026s=af74b596120cc6670cf3eb61fc8a0308"},"favicon":"https://mintcdn.com/dev-nestapi/UAxgnvyRVTOip4yc/images/favicon.svg?fit=max\u0026auto=format\u0026n=UAxgnvyRVTOip4yc\u0026q=85\u0026s=3cba8c02399d1d5f6404e423bfbeb50b","navbar":{"links":[{"href":"https://app.nestapi.com/","label":"Sign Up for Trial"}]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dev-nestapi","hasAudioNarration":false,"actualSubdomain":"dev-nestapi","customDomains":["dev-docs.nestapi.com"],"gitSource":{"type":"github","owner":"efficientsoftwareltd","repo":"efficient.nestapi.docs","deployBranch":"development","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"3297fa10-1420-4d22-8ecf-27bc4484dabe","liveDeploymentHistoryId":"6ae8cdd7744d76616a182d9a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae8cdd7744d76616a182d9a"},"entitlements":{},"buildId":"6ae8cdd7744d76616a182d9a","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":35},{"language":"default","tag":"Account \u0026 keys","count":12},{"language":"default","tag":"Nesting","count":7},{"language":"default","tag":"Results \u0026 exports","count":6},{"language":"default","tag":"Concepts","count":5},{"language":"default","tag":"Guides","count":5},{"language":"default","tag":"Run \u0026 track","count":5},{"language":"default","tag":"Fairness","count":4},{"language":"default","tag":"Account","count":3},{"language":"default","tag":"Getting Started","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/nesting/generate-a-production-export-for-a-completed-nest","slug":"/api-reference/nesting/generate-a-production-export-for-a-completed-nest","pageMetadata":{"title":"Generate a production export for a completed nest","description":"Generates an export from a completed nesting result and delivers it **asynchronously to your webhook**.\n\nThis call does **not** return the export in the response body. It validates the request **up front**, queues the export, and returns immediately with `{ \"Success\": true }`. When the export has been generated it is `POST`ed to the `WebHookUri` you supply.\n\nThe request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below.\n\nUse `ResponseType` to choose what is produced. Each type requires the matching settings block to have been supplied on the **original nesting request** (a missing block is rejected up front):\n\n- `Result` (0) — part-placement details for the result. No settings required.\n- `Render` (1) — a base64-encoded render (SVG or PNG) of the layout. Requires `RenderSettings`.\n- `DXF` (2) — a base64-encoded DXF file of the nested layout. Requires `DXFExportSettings`.\n- `ReportSource` (3) — statistics and base64 renderings for report generation. Requires `ReportSourceSettings`.\n- `RemnantExport` (4) — a base64-encoded zip of DXF files representing the remnants. Requires `RemnantGenerationSettings`.\n- `Runtime` (5) — information about the result together with a render. See `ReportSourceRenderingSettings` below: on a **GET** it uses the original request's `ReportSourceSettings` (rejected if none were supplied); **POST** to this endpoint to supply the render settings on the call itself.\n- `PartsExport` (6) — a DXF export of the individual part geometry. Requires `PartExportSettings`.\n\nEach `ResponseType` may be requested once per result by default; requesting an export you have already requested returns an error.","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/export","href":"/api-reference/nesting/generate-a-production-export-for-a-completed-nest","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Generates an export from a completed nesting result and delivers it \", _jsx(_components.strong, {\n children: \"asynchronously to your webhook\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"This call does \", _jsx(_components.strong, {\n children: \"not\"\n }), \" return the export in the response body. It validates the request \", _jsx(_components.strong, {\n children: \"up front\"\n }), \", queues the export, and returns immediately with \", _jsx(_components.code, {\n children: \"{ \\\"Success\\\": true }\"\n }), \". When the export has been generated it is \", _jsx(_components.code, {\n children: \"POST\"\n }), \"ed to the \", _jsx(_components.code, {\n children: \"WebHookUri\"\n }), \" you supply.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Use \", _jsx(_components.code, {\n children: \"ResponseType\"\n }), \" to choose what is produced. Each type requires the matching settings block to have been supplied on the \", _jsx(_components.strong, {\n children: \"original nesting request\"\n }), \" (a missing block is rejected up front):\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"Result\"\n }), \" (0) — part-placement details for the result. No settings required.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"Render\"\n }), \" (1) — a base64-encoded render (SVG or PNG) of the layout. Requires \", _jsx(_components.code, {\n children: \"RenderSettings\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"DXF\"\n }), \" (2) — a base64-encoded DXF file of the nested layout. Requires \", _jsx(_components.code, {\n children: \"DXFExportSettings\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"ReportSource\"\n }), \" (3) — statistics and base64 renderings for report generation. Requires \", _jsx(_components.code, {\n children: \"ReportSourceSettings\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"RemnantExport\"\n }), \" (4) — a base64-encoded zip of DXF files representing the remnants. Requires \", _jsx(_components.code, {\n children: \"RemnantGenerationSettings\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"Runtime\"\n }), \" (5) — information about the result together with a render. See \", _jsx(_components.code, {\n children: \"ReportSourceRenderingSettings\"\n }), \" below: on a \", _jsx(_components.strong, {\n children: \"GET\"\n }), \" it uses the original request’s \", _jsx(_components.code, {\n children: \"ReportSourceSettings\"\n }), \" (rejected if none were supplied); \", _jsx(_components.strong, {\n children: \"POST\"\n }), \" to this endpoint to supply the render settings on the call itself.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"PartsExport\"\n }), \" (6) — a DXF export of the individual part geometry. Requires \", _jsx(_components.code, {\n children: \"PartExportSettings\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Each \", _jsx(_components.code, {\n children: \"ResponseType\"\n }), \" may be requested once per result by default; requesting an export you have already requested returns an error.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate a production export for a completed nest","description":"Generates an export from a completed nesting result and delivers it **asynchronously to your webhook**.\n\nThis call does **not** return the export in the response body. It validates the request **up front**, queues the export, and returns immediately with `{ \"Success\": true }`. When the export has been generated it is `POST`ed to the `WebHookUri` you supply.\n\nThe request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below.\n\nUse `ResponseType` to choose what is produced. Each type requires the matching settings block to have been supplied on the **original nesting request** (a missing block is rejected up front):\n\n- `Result` (0) — part-placement details for the result. No settings required.\n- `Render` (1) — a base64-encoded render (SVG or PNG) of the layout. Requires `RenderSettings`.\n- `DXF` (2) — a base64-encoded DXF file of the nested layout. Requires `DXFExportSettings`.\n- `ReportSource` (3) — statistics and base64 renderings for report generation. Requires `ReportSourceSettings`.\n- `RemnantExport` (4) — a base64-encoded zip of DXF files representing the remnants. Requires `RemnantGenerationSettings`.\n- `Runtime` (5) — information about the result together with a render. See `ReportSourceRenderingSettings` below: on a **GET** it uses the original request's `ReportSourceSettings` (rejected if none were supplied); **POST** to this endpoint to supply the render settings on the call itself.\n- `PartsExport` (6) — a DXF export of the individual part geometry. Requires `PartExportSettings`.\n\nEach `ResponseType` may be requested once per result by default; requesting an export you have already requested returns an error.","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/export","href":"/api-reference/nesting/generate-a-production-export-for-a-completed-nest","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["nesting"],"summary":"Generate a production export for a completed nest","description":"Generates an export from a completed nesting result and delivers it **asynchronously to your webhook**.\n\nThis call does **not** return the export in the response body. It validates the request **up front**, queues the export, and returns immediately with `{ \"Success\": true }`. When the export has been generated it is `POST`ed to the `WebHookUri` you supply.\n\nThe request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below.\n\nUse `ResponseType` to choose what is produced. Each type requires the matching settings block to have been supplied on the **original nesting request** (a missing block is rejected up front):\n\n- `Result` (0) — part-placement details for the result. No settings required.\n- `Render` (1) — a base64-encoded render (SVG or PNG) of the layout. Requires `RenderSettings`.\n- `DXF` (2) — a base64-encoded DXF file of the nested layout. Requires `DXFExportSettings`.\n- `ReportSource` (3) — statistics and base64 renderings for report generation. Requires `ReportSourceSettings`.\n- `RemnantExport` (4) — a base64-encoded zip of DXF files representing the remnants. Requires `RemnantGenerationSettings`.\n- `Runtime` (5) — information about the result together with a render. See `ReportSourceRenderingSettings` below: on a **GET** it uses the original request's `ReportSourceSettings` (rejected if none were supplied); **POST** to this endpoint to supply the render settings on the call itself.\n- `PartsExport` (6) — a DXF export of the individual part geometry. Requires `PartExportSettings`.\n\nEach `ResponseType` may be requested once per result by default; requesting an export you have already requested returns an error.","operationId":"GenerateNestApiExport","parameters":["fa18059e-fecf-4d41-9624-0a966980b3a7","09f81e10-a007-40fb-942c-423f7e84cf4e","11b4bf47-d752-488b-b51d-f46a98244af0","c6d6cbbd-7147-4b89-8071-cb71003596c6"],"requestBody":"49a74b4a-c8e1-48f0-bc86-8c8aa989ccbb","responses":{"200":"0f41a88c-682e-46b0-8832-1f091f025429","400":"e16b63df-557a-4a74-8d14-1f4768539f58","401":"b221a1ef-6a31-4ca5-85a8-5c268fcf2318","404":"2eb2f346-6010-4580-8492-a15e187e8d0e","409":"a1d001d8-9c41-42c6-91e4-c2d7bbfab346","429":"25e7670b-f6fc-4fe9-90d1-ebfab393acb6"},"deprecated":false,"security":["d2e5227d-9b13-4f6a-89c7-7433beeee525"],"method":"get","type":"path","servers":["c175ddad-c41d-4997-b792-998af09e95a1"],"path":"/v1/nesting/export","baseUrlOptions":["https://dev.api.nestapi.com"],"title":"Generate a production export for a completed nest","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"fa18059e-fecf-4d41-9624-0a966980b3a7":{"name":"RequestId","in":"query","description":"The completed job to export. This is `NestIdentifier` in the webhook payload, and is the id returned from the nesting endpoint.","required":true,"x-nullable":false,"schema":{"type":"string","isRequired":true,"description":"The completed job to export. This is `NestIdentifier` in the webhook payload, and is the id returned from the nesting endpoint.","uniqueKey":"","typeLabel":"string"}},"09f81e10-a007-40fb-942c-423f7e84cf4e":{"name":"ResultId","in":"query","description":"The specific result to export. This is `ResultIdentity` in the webhook payload and in `GET /v1/nesting/status`.","required":true,"x-nullable":false,"schema":{"type":"string","isRequired":true,"description":"The specific result to export. This is `ResultIdentity` in the webhook payload and in `GET /v1/nesting/status`.","uniqueKey":"","typeLabel":"string"}},"11b4bf47-d752-488b-b51d-f46a98244af0":{"name":"ResponseType","in":"query","description":"Which export to generate. Accepts the name or the integer — see the endpoint description for the meaning of each value and the settings it requires.","required":true,"x-nullable":false,"schema":{"type":"string","enum":["Result","Render","DXF","ReportSource","RemnantExport","Runtime","PartsExport"],"isRequired":true,"description":"Which export to generate. Accepts the name or the integer — see the endpoint description for the meaning of each value and the settings it requires.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"c6d6cbbd-7147-4b89-8071-cb71003596c6":{"name":"WebHookUri","in":"query","schema":{"title":"Uri","properties":{},"description":"The URL the generated export is `POST`ed to when it is ready. Required, and must be an absolute HTTPS URL — without it the export has nowhere to be delivered.\nUri","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"The URL the generated export is `POST`ed to when it is ready. Required, and must be an absolute HTTPS URL — without it the export has nowhere to be delivered.","required":true},"f79e5ae4-fad1-47d4-8dbb-d76140df748b":{"name":"Accept","in":"header","description":"Accept Header","required":true,"schema":{"type":"string","enum":["application/json"],"isRequired":true,"description":"Accept Header","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"content":{"application/json":{"schema":{"title":"ReportSourceRenderingSettings","properties":{"NestingRenderSettings":{"title":"RenderSettings","properties":{"RenderFormat":{"description":"The format to generate the nesting result render","type":"string","default":"PNG","enum":["PNG","SVG"],"uniqueKey":"NestingRenderSettings.RenderFormat","typeLabel":"enum\u003cstring>"},"xDimension":{"description":"X dimension in pixels of the rendering","type":"integer","format":"int32","nullable":false,"uniqueKey":"NestingRenderSettings.xDimension","typeLabel":"integer\u003cint32>"},"yDimension":{"description":"Y dimension in pixels of the rendering","type":"integer","format":"int32","nullable":false,"uniqueKey":"NestingRenderSettings.yDimension","typeLabel":"integer\u003cint32>"},"BackColorARGB":{"description":"Background color of the rendering using the ARBG hex definition, e.g. #AARRGGBB","type":"string","uniqueKey":"NestingRenderSettings.BackColorARGB","typeLabel":"string"},"OutlineLineColorARGB":{"description":"Part and sheet boundary color within the rendering using the ARBG hex definition, e.g. #AARRGGBB","type":"string","uniqueKey":"NestingRenderSettings.OutlineLineColorARGB","typeLabel":"string"},"PartFillColorARGB":{"description":"Part fill color within the rendering using the ARBG hex definition, e.g. #AARRGGBB. Optional.","type":"string","uniqueKey":"NestingRenderSettings.PartFillColorARGB","typeLabel":"string"},"AutomaticallyChoosePartFillColor":{"description":"True if client wants to the renderer to automatically assign each part a unique fill colour for renderings, these will be respected throughout the nesting process. If False a PartFillColorARBG value must be supplied.","type":"boolean","nullable":false,"uniqueKey":"NestingRenderSettings.AutomaticallyChoosePartFillColor","typeLabel":"boolean"}},"description":"Settings for the generation of requested nesting result renderings","type":"object","uniqueKey":"NestingRenderSettings","typeLabel":"RenderSettings · object"},"RenderPartLabelMode":{"description":"How each part is labelled in the nest rendering (none, identifier, or part name). Values: `None` — No part labels; `ID` — Label each part with its identifier; `PartName` — Label each part with its part name.","type":"string","default":"None","enum":["None","ID","PartName"],"uniqueKey":"RenderPartLabelMode","typeLabel":"enum\u003cstring>"},"PartLabelHeight":{"description":"Height of the part label text, in millimetres. Left null for automatic sizing.","type":"number","format":"double","uniqueKey":"PartLabelHeight","typeLabel":"number\u003cdouble>"},"PartPreviewRenderSettings":{"title":"RenderSettings","properties":{"RenderFormat":{"description":"The format to generate the nesting result render","type":"string","default":"PNG","enum":["PNG","SVG"],"uniqueKey":"PartPreviewRenderSettings.RenderFormat","typeLabel":"enum\u003cstring>"},"xDimension":{"description":"X dimension in pixels of the rendering","type":"integer","format":"int32","nullable":false,"uniqueKey":"PartPreviewRenderSettings.xDimension","typeLabel":"integer\u003cint32>"},"yDimension":{"description":"Y dimension in pixels of the rendering","type":"integer","format":"int32","nullable":false,"uniqueKey":"PartPreviewRenderSettings.yDimension","typeLabel":"integer\u003cint32>"},"BackColorARGB":{"description":"Background color of the rendering using the ARBG hex definition, e.g. #AARRGGBB","type":"string","uniqueKey":"PartPreviewRenderSettings.BackColorARGB","typeLabel":"string"},"OutlineLineColorARGB":{"description":"Part and sheet boundary color within the rendering using the ARBG hex definition, e.g. #AARRGGBB","type":"string","uniqueKey":"PartPreviewRenderSettings.OutlineLineColorARGB","typeLabel":"string"},"PartFillColorARGB":{"description":"Part fill color within the rendering using the ARBG hex definition, e.g. #AARRGGBB. Optional.","type":"string","uniqueKey":"PartPreviewRenderSettings.PartFillColorARGB","typeLabel":"string"},"AutomaticallyChoosePartFillColor":{"description":"True if client wants to the renderer to automatically assign each part a unique fill colour for renderings, these will be respected throughout the nesting process. If False a PartFillColorARBG value must be supplied.","type":"boolean","nullable":false,"uniqueKey":"PartPreviewRenderSettings.AutomaticallyChoosePartFillColor","typeLabel":"boolean"}},"description":"Settings for the generation of requested nesting result renderings","type":"object","uniqueKey":"PartPreviewRenderSettings","typeLabel":"RenderSettings · object"}},"description":"Settings for the renderings generated for a ReportSource: the per-nest layout render and the per-part preview render, plus how parts are labelled.","type":"object","uniqueKey":"","typeLabel":"ReportSourceRenderingSettings · object"},"examples":{"Example":{"title":"Example","value":{"NestingRenderSettings":{"RenderFormat":"PNG","xDimension":123,"yDimension":123,"BackColorARGB":"\u003cstring>","OutlineLineColorARGB":"\u003cstring>","PartFillColorARGB":"\u003cstring>","AutomaticallyChoosePartFillColor":true},"RenderPartLabelMode":"None","PartLabelHeight":123,"PartPreviewRenderSettings":{"RenderFormat":"PNG","xDimension":123,"yDimension":123,"BackColorARGB":"\u003cstring>","OutlineLineColorARGB":"\u003cstring>","PartFillColorARGB":"\u003cstring>","AutomaticallyChoosePartFillColor":true}}}},"exampleType":"generated"}},"description":"Render settings for a `Runtime` export, supplied on a **POST** to this endpoint. When omitted (and always on a GET) the original nesting request's `ReportSourceSettings` are used instead; a `Runtime` export with neither is rejected. Ignored for every other `ResponseType`.","exampleType":"generated"},"responses":{"0f41a88c-682e-46b0-8832-1f091f025429":{"description":"The export request was accepted and queued for delivery to your webhook.","content":{"application/json":{"schema":{"title":"NestApiExport","properties":{"Success":{"description":"`true` if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a `POST` to your `WebHookUri`.","type":"boolean","nullable":false,"uniqueKey":"Success","typeLabel":"boolean"},"Error":{"description":"Error detail when `Success` is `false`; otherwise null.","type":"string","uniqueKey":"Error","typeLabel":"string"}},"description":"NestApiExport","type":"object","uniqueKey":"","typeLabel":"NestApiExport · object"},"examples":{"Example":{"title":"Example","value":{"Success":true,"Error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e16b63df-557a-4a74-8d14-1f4768539f58":{"description":"The request is malformed or unsatisfiable: a missing/non-empty `RequestId` or `ResultId`, a missing or non-HTTPS `WebHookUri`, an unknown `ResponseType`, or a `ResponseType` whose required settings block was not supplied on the original nesting request. The `ResponseStatus` message explains which check failed.","content":{"application/json":{"schema":{"title":"NestApiExport","properties":{"Success":{"description":"`true` if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a `POST` to your `WebHookUri`.","type":"boolean","nullable":false,"uniqueKey":"Success","typeLabel":"boolean"},"Error":{"description":"Error detail when `Success` is `false`; otherwise null.","type":"string","uniqueKey":"Error","typeLabel":"string"}},"description":"NestApiExport","type":"object","uniqueKey":"","typeLabel":"NestApiExport · object"},"examples":{"Example":{"title":"Example","value":{"Success":true,"Error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b221a1ef-6a31-4ca5-85a8-5c268fcf2318":{"description":"API key is missing or invalid.","content":{"application/json":{"schema":{"title":"NestApiExport","properties":{"Success":{"description":"`true` if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a `POST` to your `WebHookUri`.","type":"boolean","nullable":false,"uniqueKey":"Success","typeLabel":"boolean"},"Error":{"description":"Error detail when `Success` is `false`; otherwise null.","type":"string","uniqueKey":"Error","typeLabel":"string"}},"description":"NestApiExport","type":"object","uniqueKey":"","typeLabel":"NestApiExport · object"},"examples":{"Example":{"title":"Example","value":{"Success":true,"Error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"2eb2f346-6010-4580-8492-a15e187e8d0e":{"description":"No completed nest was found for the supplied `RequestId`/`ResultId` for this key, or the result is no longer available for export (results are retained in memory for a limited time).","content":{"application/json":{"schema":{"title":"NestApiExport","properties":{"Success":{"description":"`true` if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a `POST` to your `WebHookUri`.","type":"boolean","nullable":false,"uniqueKey":"Success","typeLabel":"boolean"},"Error":{"description":"Error detail when `Success` is `false`; otherwise null.","type":"string","uniqueKey":"Error","typeLabel":"string"}},"description":"NestApiExport","type":"object","uniqueKey":"","typeLabel":"NestApiExport · object"},"examples":{"Example":{"title":"Example","value":{"Success":true,"Error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a1d001d8-9c41-42c6-91e4-c2d7bbfab346":{"description":"The nest exists but is not in an exportable state — it has not completed yet, or it failed.","content":{"application/json":{"schema":{"title":"NestApiExport","properties":{"Success":{"description":"`true` if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a `POST` to your `WebHookUri`.","type":"boolean","nullable":false,"uniqueKey":"Success","typeLabel":"boolean"},"Error":{"description":"Error detail when `Success` is `false`; otherwise null.","type":"string","uniqueKey":"Error","typeLabel":"string"}},"description":"NestApiExport","type":"object","uniqueKey":"","typeLabel":"NestApiExport · object"},"examples":{"Example":{"title":"Example","value":{"Success":true,"Error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"25e7670b-f6fc-4fe9-90d1-ebfab393acb6":{"description":"The per-type export limit for this result has been reached. Each `ResponseType` may be requested once per result by default.","content":{"application/json":{"schema":{"title":"NestApiExport","properties":{"Success":{"description":"`true` if the export request was accepted and queued. This is an acknowledgement only — the export itself is delivered later as a `POST` to your `WebHookUri`.","type":"boolean","nullable":false,"uniqueKey":"Success","typeLabel":"boolean"},"Error":{"description":"Error detail when `Success` is `false`; otherwise null.","type":"string","uniqueKey":"Error","typeLabel":"string"}},"description":"NestApiExport","type":"object","uniqueKey":"","typeLabel":"NestApiExport · object"},"examples":{"Example":{"title":"Example","value":{"Success":true,"Error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d2e5227d-9b13-4f6a-89c7-7433beeee525":{"Bearer":{"type":"apiKey","name":"Authorization","in":"header","scopes":[],"schemeName":"Bearer"}}},"servers":{"c175ddad-c41d-4997-b792-998af09e95a1":{"url":"https://dev.api.nestapi.com","description":"Staging"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","name":"Authorization","in":"header","scopes":[],"schemeName":"Bearer"},"schema":{"title":"Authorization","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"Bearer","name":"Authorization"}],"title":"Bearer"}]},"originalFileLocation":"openapi.json"},"subdomain":"dev-nestapi","siteName":"NestAPI Documentation","title":"Generate a production export for a completed nest - NestAPI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T17:52:28.357Z","originalFileLocation":"api-reference/nesting/generate-a-production-export-for-a-completed-nest.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Generates an export from a completed nesting result and delivers it asynchronously to your webhook. This call does not return the export in the response body. It validates the request up front, queues the export, and returns immediately with { \u0026quot;Success\u0026quot;: true }. When the export has been generated it is POSTed to the WebHookUri you supply. The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below. Use ResponseType to choose what is produced. Each type requires the matching settings block to have been supplied on the original nesting request (a missing block is rejected up front): - Result (0) — part-placement details for the result. No settings required. - Render (1) — a base64-encoded render (SVG or PNG) of the layout. Requires RenderSettings. - DXF (2) — a base64-encoded DXF file of the nested layout. Requires DXFExportSettings. - ReportSource (3) — statistics and base64 renderings for report generation. Requires ReportSourceSettings. - RemnantExport (4) — a base64-encoded zip of DXF files representing the remnants. Requires RemnantGenerationSettings. - Runtime (5) — information about the result together with a render. See ReportSourceRenderingSettings below: on a GET it uses the original request\u0026#x27;s ReportSourceSettings (rejected if none were supplied); POST to this endpoint to supply the render settings on the call itself. - PartsExport (6) — a DXF export of the individual part geometry. Requires PartExportSettings. Each ResponseType may be requested once per result by default; requesting an export you have already requested returns an error.\">\u003cmeta data-mint-head name=\"application-name\" content=\"NestAPI Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate a production export for a completed nest - NestAPI Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Generates an export from a completed nesting result and delivers it asynchronously to your webhook. This call does not return the export in the response body. It validates the request up front, queues the export, and returns immediately with { \u0026quot;Success\u0026quot;: true }. When the export has been generated it is POSTed to the WebHookUri you supply. The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below. Use ResponseType to choose what is produced. Each type requires the matching settings block to have been supplied on the original nesting request (a missing block is rejected up front): - Result (0) — part-placement details for the result. No settings required. - Render (1) — a base64-encoded render (SVG or PNG) of the layout. Requires RenderSettings. - DXF (2) — a base64-encoded DXF file of the nested layout. Requires DXFExportSettings. - ReportSource (3) — statistics and base64 renderings for report generation. Requires ReportSourceSettings. - RemnantExport (4) — a base64-encoded zip of DXF files representing the remnants. Requires RemnantGenerationSettings. - Runtime (5) — information about the result together with a render. See ReportSourceRenderingSettings below: on a GET it uses the original request\u0026#x27;s ReportSourceSettings (rejected if none were supplied); POST to this endpoint to supply the render settings on the call itself. - PartsExport (6) — a DXF export of the individual part geometry. Requires PartExportSettings. Each ResponseType may be requested once per result by default; requesting an export you have already requested returns an error.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NestAPI Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dev-nestapi.mintlify.app/_mintlify/api/og/v2?division=Results+%26+exports\u0026amp;title=Generate+a+production+export+for+a+completed+nest\u0026amp;description=Generates+an+export+from+a+completed+nesting+result+and+delivers+it+**asynchronously+to+your+webhook**.%0A%0AThis+call+does+**not**+return+the+export+in+the+respons\u0026amp;theme=73f7472777e17440bdf0549e\u0026amp;signature=ff82a1224185f08a2d1cd73594a3e0dcd858f2fa5a557d80f2d7001a2b05772c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate a production export for a completed nest - NestAPI Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Generates an export from a completed nesting result and delivers it asynchronously to your webhook. This call does not return the export in the response body. It validates the request up front, queues the export, and returns immediately with { \u0026quot;Success\u0026quot;: true }. When the export has been generated it is POSTed to the WebHookUri you supply. The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below. Use ResponseType to choose what is produced. Each type requires the matching settings block to have been supplied on the original nesting request (a missing block is rejected up front): - Result (0) — part-placement details for the result. No settings required. - Render (1) — a base64-encoded render (SVG or PNG) of the layout. Requires RenderSettings. - DXF (2) — a base64-encoded DXF file of the nested layout. Requires DXFExportSettings. - ReportSource (3) — statistics and base64 renderings for report generation. Requires ReportSourceSettings. - RemnantExport (4) — a base64-encoded zip of DXF files representing the remnants. Requires RemnantGenerationSettings. - Runtime (5) — information about the result together with a render. See ReportSourceRenderingSettings below: on a GET it uses the original request\u0026#x27;s ReportSourceSettings (rejected if none were supplied); POST to this endpoint to supply the render settings on the call itself. - PartsExport (6) — a DXF export of the individual part geometry. Requires PartExportSettings. Each ResponseType may be requested once per result by default; requesting an export you have already requested returns an error.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dev-nestapi.mintlify.app/_mintlify/api/og/v2?division=Results+%26+exports\u0026amp;title=Generate+a+production+export+for+a+completed+nest\u0026amp;description=Generates+an+export+from+a+completed+nesting+result+and+delivers+it+**asynchronously+to+your+webhook**.%0A%0AThis+call+does+**not**+return+the+export+in+the+respons\u0026amp;theme=73f7472777e17440bdf0549e\u0026amp;signature=ff82a1224185f08a2d1cd73594a3e0dcd858f2fa5a557d80f2d7001a2b05772c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dev-nestapi/B0iKdJqwikgQNLws/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NestAPI Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/nesting/generate-a-production-export-for-a-completed-nest.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://dev-docs.nestapi.com/#organization\",\"name\":\"NestAPI Documentation\",\"url\":\"https://dev-docs.nestapi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dev-nestapi/UAxgnvyRVTOip4yc/images/logo-light.svg?fit=max\u0026auto=format\u0026n=UAxgnvyRVTOip4yc\u0026q=85\u0026s=570d4e4a3fdf3b7f0ba2c4034ec4d91d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://dev-docs.nestapi.com#website\",\"name\":\"NestAPI Documentation\",\"url\":\"https://dev-docs.nestapi.com\",\"publisher\":{\"@id\":\"https://dev-docs.nestapi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest#webpage\",\"url\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest\",\"name\":\"Generate a production export for a completed nest\",\"description\":\"Generates an export from a completed nesting result and delivers it asynchronously to your webhook. This call does not return the export in the response body. It validates the request up front, queues the export, and returns immediately with { \\\"Success\\\": true }. When the export has been generated it is POSTed to the WebHookUri you supply. The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below. Use ResponseType to choose what is produced. Each type requires the matching settings block to have been supplied on the original nesting request (a missing block is rejected up front): - Result (0) — part-placement details for the result. No settings required. - Render (1) — a base64-encoded render (SVG or PNG) of the layout. Requires RenderSettings. - DXF (2) — a base64-encoded DXF file of the nested layout. Requires DXFExportSettings. - ReportSource (3) — statistics and base64 renderings for report generation. Requires ReportSourceSettings. - RemnantExport (4) — a base64-encoded zip of DXF files representing the remnants. Requires RemnantGenerationSettings. - Runtime (5) — information about the result together with a render. See ReportSourceRenderingSettings below: on a GET it uses the original request's ReportSourceSettings (rejected if none were supplied); POST to this endpoint to supply the render settings on the call itself. - PartsExport (6) — a DXF export of the individual part geometry. Requires PartExportSettings. Each ResponseType may be requested once per result by default; requesting an export you have already requested returns an error.\",\"dateModified\":\"2026-11-02T17:52:28.357Z\",\"isPartOf\":{\"@id\":\"https://dev-docs.nestapi.com#website\"},\"breadcrumb\":{\"@id\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://dev-docs.nestapi.com/api-reference/nesting/nest-from-dxf-files\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Results \u0026 exports\",\"item\":\"https://dev-docs.nestapi.com/api-reference/nesting/fetch-the-report-source-result-for-a-completed-nest\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Generate a production export for a completed nest\",\"item\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest#apireference\",\"headline\":\"Generate a production export for a completed nest\",\"name\":\"Generate a production export for a completed nest\",\"description\":\"Generates an export from a completed nesting result and delivers it asynchronously to your webhook. This call does not return the export in the response body. It validates the request up front, queues the export, and returns immediately with { \\\"Success\\\": true }. When the export has been generated it is POSTed to the WebHookUri you supply. The request is validated synchronously before it is queued — a malformed or unsatisfiable request is rejected here with a clear error rather than being accepted and failing silently later. See the responses below. Use ResponseType to choose what is produced. Each type requires the matching settings block to have been supplied on the original nesting request (a missing block is rejected up front): - Result (0) — part-placement details for the result. No settings required. - Render (1) — a base64-encoded render (SVG or PNG) of the layout. Requires RenderSettings. - DXF (2) — a base64-encoded DXF file of the nested layout. Requires DXFExportSettings. - ReportSource (3) — statistics and base64 renderings for report generation. Requires ReportSourceSettings. - RemnantExport (4) — a base64-encoded zip of DXF files representing the remnants. Requires RemnantGenerationSettings. - Runtime (5) — information about the result together with a render. See ReportSourceRenderingSettings below: on a GET it uses the original request's ReportSourceSettings (rejected if none were supplied); POST to this endpoint to supply the render settings on the call itself. - PartsExport (6) — a DXF export of the individual part geometry. Requires PartExportSettings. Each ResponseType may be requested once per result by default; requesting an export you have already requested returns an error.\",\"url\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest\",\"mainEntityOfPage\":{\"@id\":\"https://dev-docs.nestapi.com/api-reference/nesting/generate-a-production-export-for-a-completed-nest#webpage\"},\"dateModified\":\"2026-11-02T17:52:28.357Z\",\"publisher\":{\"@id\":\"https://dev-docs.nestapi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://dev-docs.nestapi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NestAPI Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"NestAPI Documentation","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Authentication","href":"/authentication"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Guides","pages":[{"title":"Nesting workflow","href":"/guides/nesting-workflow"},{"title":"Webhooks","href":"/guides/webhooks"},{"title":"Geometry types","href":"/guides/geometry-types"},{"title":"Quote nesting","href":"/guides/quote-nesting"},{"title":"1D nesting","href":"/guides/1d-nesting"}]},{"group":"Concepts","pages":[{"title":"Parts and sheets","href":"/concepts/parts-and-sheets"},{"title":"SimpleGeometry","href":"/concepts/simple-geometry"},{"title":"Nesting settings","href":"/concepts/nesting-settings"},{"title":"Common cutting","href":"/concepts/common-cutting"},{"title":"Export types","href":"/concepts/export-types"}]},{"group":"Account","pages":[{"title":"API keys","href":"/account/api-keys"},{"title":"Fairness","href":"/account/fairness"},{"title":"Identity \u0026 account status","href":"/account/profile"}]},{"group":"API Reference","pages":[{"group":"Nesting","pages":[{"title":"Nest from DXF files","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting","href":"/api-reference/nesting/nest-from-dxf-files"},{"title":"Nest from encoded geometry","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/geometry","href":"/api-reference/nesting/nest-from-encoded-geometry"},{"title":"Nest from parametric parts","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/parametric","href":"/api-reference/nesting/nest-from-parametric-parts"},{"title":"Nest from MyNesting XML","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/mynesting","href":"/api-reference/nesting/nest-from-mynesting-xml"},{"title":"Quote nest from DXF files","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/quotenesting","href":"/api-reference/nesting/quote-nest-from-dxf-files"},{"title":"Quote nest from encoded geometry","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/geometryquotenesting","href":"/api-reference/nesting/quote-nest-from-encoded-geometry"},{"title":"Nest 1D / linear stock","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/1D","href":"/api-reference/nesting/nest-1d-linear-stock"}]},{"group":"Run \u0026 track","pages":[{"title":"Start a delayed nest (after connecting to SignalR)","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/delayedstart","href":"/api-reference/nesting/start-a-delayed-nest-after-connecting-to-signalr"},{"title":"Continue a quote nest to the next sub-nest","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/continue","href":"/api-reference/nesting/continue-a-quote-nest-to-the-next-sub-nest"},{"title":"Get the status of a nesting request","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/status","href":"/api-reference/nesting/get-the-status-of-a-nesting-request"},{"title":"Recent successful nests (last 24 hours)","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/successes","href":"/api-reference/nesting/recent-successful-nests-last-24-hours"},{"title":"Recent failed nests (last 24 hours)","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/failures","href":"/api-reference/nesting/recent-failed-nests-last-24-hours"}]},{"group":"Results \u0026 exports","pages":[{"title":"Fetch the report-source result for a completed nest","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/result/","href":"/api-reference/nesting/fetch-the-report-source-result-for-a-completed-nest"},{"title":"Fetch a 1D nesting result","deprecated":false,"version":null,"openapi":"/openapi.json post /v1/nesting/1D/result","href":"/api-reference/nesting/fetch-a-1d-nesting-result"},{"title":"Render a completed nest","description":"Returns a rendered image of a completed nesting result **synchronously, in the response body** — the one export you can fetch and use in a single call. Useful for previews in your UI or operator sheets.\n\nThe response carries the render as a base64-encoded string in `Base64EncodedRendering`, with its format in `RenderFormat` and pixel dimensions in `xDimension` / `yDimension`.","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/render/","href":"/api-reference/nesting/render-a-completed-nest"},{"title":"Generate a production export for a completed nest","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/export","href":"/api-reference/nesting/generate-a-production-export-for-a-completed-nest"},{"title":"Generate an export for a completed quote nest","description":"The quote-nesting equivalent of `GET /v1/nesting/export`. Generates a quote-oriented export from a completed quote nest and delivers it **asynchronously to your webhook**.\n\nLike `export`, this call does **not** return the export in the response body — it returns `{ \"Success\": true }` on acceptance and `POST`s the generated export to the `WebHookUri` you supply. There is no `ResponseType`; the quote export is a single fixed shape.","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/exportquotenest","href":"/api-reference/nesting/generate-an-export-for-a-completed-quote-nest"},{"title":"Fetch a cached export (SignalR result generation)","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/nesting/export/cached","href":"/api-reference/nesting/fetch-a-cached-export-signalr-result-generation"}]},{"group":"Account \u0026 keys","pages":[{"title":"Get your account profile","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/user/profile","href":"/api-reference/account/get-your-account-profile"},{"title":"Get your account's subscription status","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/status","href":"/api-reference/account/get-your-accounts-subscription-status"},{"title":"Validate your API key","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/auth/validate","href":"/api-reference/account/validate-your-api-key"},{"title":"Check when your API key expires","deprecated":false,"version":null,"openapi":"/openapi.json get /v1/apiKey/validUntil","href":"/api-reference/account/check-when-your-api-key-expires"},{"title":"List the account's API keys","deprecated":false,"version":null,"openapi":"/openapi.json get /admin/keys","href":"/api-reference/account/list-the-accounts-api-keys"},{"title":"Create an API key","deprecated":false,"version":null,"openapi":"/openapi.json post /admin/keys","href":"/api-reference/account/create-an-api-key"},{"title":"Regenerate an API key","deprecated":false,"version":null,"openapi":"/openapi.json post /admin/keys/{ApiKeyId}/regenerate","href":"/api-reference/account/regenerate-an-api-key"},{"title":"Set a key's Admin/Usage type","deprecated":false,"version":null,"openapi":"/openapi.json patch /admin/keys/{ApiKeyId}/type","href":"/api-reference/account/set-a-keys-adminusage-type"},{"title":"Revoke an API key","deprecated":false,"version":null,"openapi":"/openapi.json delete /admin/keys/{ApiKeyId}","href":"/api-reference/account/revoke-an-api-key"},{"title":"List allowed origins for an API key","deprecated":false,"version":null,"openapi":"/openapi.json get /apikeys/{KeyId}/origins","href":"/api-reference/account/list-allowed-origins-for-an-api-key"},{"title":"Add an allowed origin to an API key","deprecated":false,"version":null,"openapi":"/openapi.json post /apikeys/{KeyId}/origins","href":"/api-reference/account/add-an-allowed-origin-to-an-api-key"},{"title":"Remove an allowed origin from an API key","deprecated":false,"version":null,"openapi":"/openapi.json delete /apikeys/{KeyId}/origins","href":"/api-reference/account/remove-an-allowed-origin-from-an-api-key"}]},{"group":"Fairness","pages":[{"title":"Get the account's per-customer fairness configuration","deprecated":false,"version":null,"openapi":"/openapi.json get /admin/fairness/config","href":"/api-reference/fairness/get-the-accounts-per-customer-fairness-configuration"},{"title":"Update the account's per-customer fairness configuration","deprecated":false,"version":null,"openapi":"/openapi.json patch /admin/fairness/config","href":"/api-reference/fairness/update-the-accounts-per-customer-fairness-configuration"},{"title":"Set a key's fairness weight","deprecated":false,"version":null,"openapi":"/openapi.json patch /admin/keys/{ApiKeyId}/weight","href":"/api-reference/fairness/set-a-keys-fairness-weight"},{"title":"Per-customer nesting-minutes usage breakdown","deprecated":false,"version":null,"openapi":"/openapi.json get /usage/fairness","href":"/api-reference/fairness/per-customer-nesting-minutes-usage-breakdown"}]},{"group":"Service","pages":[{"title":"Endpoint to check if the api is alive","deprecated":false,"version":null,"openapi":"/openapi.json get /public/alive","href":"/api-reference/public/endpoint-to-check-if-the-api-is-alive"}]}]}]},"basePath":"","title":"Generate a production export for a completed nest - NestAPI Documentation","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}