Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body:
contractId: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send cancellation instead.
terms: the invoices that terms would bill before they are saved, such as a new contract’s. Refused when the terms cannot be billed, such as terms with no line items; the error says why.
cancellation: the invoice that would still be billed if the contract were cancelled from cancelAt, for its last charges billed in arrears (IN_ARREARS). Empty when there are none.
Every invoice comes back on one page, so hasMore is always false. Needs a key holding contracts:read and invoices:read.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Synthetic API","colors":{"primary":"#4f7658"},"logo":{"light":"https://mintcdn.com/synthetic-intelligences-inc/fQrygfnnSQo6sqbf/logo/light.svg?fit=max\u0026auto=format\u0026n=fQrygfnnSQo6sqbf\u0026q=85\u0026s=2dda80021fb41535557588dfc2db8171","dark":"https://mintcdn.com/synthetic-intelligences-inc/fQrygfnnSQo6sqbf/logo/dark.svg?fit=max\u0026auto=format\u0026n=fQrygfnnSQo6sqbf\u0026q=85\u0026s=5c52f16fb166ac48b3d84c1a873ee2f6","href":"https://synthetic.ai"},"favicon":"https://mintcdn.com/synthetic-intelligences-inc/fQrygfnnSQo6sqbf/favicon.svg?fit=max\u0026auto=format\u0026n=fQrygfnnSQo6sqbf\u0026q=85\u0026s=99c5d1fd4b2b7623472231c876aa54f9","navbar":{"links":[{"href":"https://app.synthetic.ai","label":"Open Synthetic"}]},"footer":{"links":[{"header":"Synthetic","items":[{"label":"Website","href":"https://synthetic.ai"},{"label":"Sign in","href":"https://app.synthetic.ai"}]}]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"synthetic-intelligences-inc","hasAudioNarration":false,"actualSubdomain":"synthetic-intelligences-inc","customDomains":["docs.synthetic.ai"],"gitSource":{"type":"github","owner":"synthetic-intelligences","repo":"synthetic-monorepo","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adfa1cf9747bf381ee7a69c","collectionId":"f68486da-10f4-416c-8d0d-49d9d66433e6","liveDeploymentHistoryId":"6adfa1cf9747bf381ee7a69c","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adfd0c398a4100f68a0fa0f","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":13},{"language":"default","tag":"Contracts","count":5},{"language":"default","tag":"Guides","count":4},{"language":"default","tag":"Customers","count":2},{"language":"default","tag":"Invoices","count":2},{"language":"default","tag":"Payments","count":2},{"language":"default","tag":"System","count":2}]},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/contracts/list-invoice-previews","slug":"/api-reference/contracts/list-invoice-previews","pageMetadata":{"title":"List invoice previews","description":"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body:\n\n- `contractId`: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send `cancellation` instead.\n- `terms`: the invoices that terms would bill before they are saved, such as a new contract's. Refused when the terms cannot be billed, such as terms with no line items; the error says why.\n- `cancellation`: the invoice that would still be billed if the contract were cancelled from `cancelAt`, for its last charges billed in arrears (`IN_ARREARS`). Empty when there are none.\n\nEvery invoice comes back on one page, so `hasMore` is always false. Needs a key holding `contracts:read` and `invoices:read`.","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json query /invoice-previews","href":"/api-reference/contracts/list-invoice-previews","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 ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"contractId\"\n }), \": the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send \", _jsx(_components.code, {\n children: \"cancellation\"\n }), \" instead.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"terms\"\n }), \": the invoices that terms would bill before they are saved, such as a new contract’s. Refused when the terms cannot be billed, such as terms with no line items; the error says why.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"cancellation\"\n }), \": the invoice that would still be billed if the contract were cancelled from \", _jsx(_components.code, {\n children: \"cancelAt\"\n }), \", for its last charges billed in arrears (\", _jsx(_components.code, {\n children: \"IN_ARREARS\"\n }), \"). Empty when there are none.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Every invoice comes back on one page, so \", _jsx(_components.code, {\n children: \"hasMore\"\n }), \" is always false. Needs a key holding \", _jsx(_components.code, {\n children: \"contracts:read\"\n }), \" and \", _jsx(_components.code, {\n children: \"invoices:read\"\n }), \".\"]\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":"List invoice previews","description":"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body:\n\n- `contractId`: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send `cancellation` instead.\n- `terms`: the invoices that terms would bill before they are saved, such as a new contract's. Refused when the terms cannot be billed, such as terms with no line items; the error says why.\n- `cancellation`: the invoice that would still be billed if the contract were cancelled from `cancelAt`, for its last charges billed in arrears (`IN_ARREARS`). Empty when there are none.\n\nEvery invoice comes back on one page, so `hasMore` is always false. Needs a key holding `contracts:read` and `invoices:read`.","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json query /invoice-previews","href":"/api-reference/contracts/list-invoice-previews","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"invoices-preview-list","summary":"List invoice previews","description":"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body:\n\n- `contractId`: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send `cancellation` instead.\n- `terms`: the invoices that terms would bill before they are saved, such as a new contract's. Refused when the terms cannot be billed, such as terms with no line items; the error says why.\n- `cancellation`: the invoice that would still be billed if the contract were cancelled from `cancelAt`, for its last charges billed in arrears (`IN_ARREARS`). Empty when there are none.\n\nEvery invoice comes back on one page, so `hasMore` is always false. Needs a key holding `contracts:read` and `invoices:read`.","tags":["Contracts"],"security":["fec89301-671c-45a5-aa24-0ca826c23e4c"],"parameters":[],"requestBody":"8cfa0750-b6a0-4122-989f-a3f0ee89ad43","responses":{"200":"908a675d-5899-494f-b3cd-96b4ce21b889","400":"0838e7e0-97fb-47cc-b6af-6f3963f8cddb","401":"895ff269-bbe6-4256-910a-1bab713cb192","404":"3ee04dd4-9abf-4368-8774-1f943a196a2b","500":"4a4440f3-964d-435c-83cd-9ce813a0300f"},"method":"query","type":"path","servers":["fe02b890-748b-4bb0-9955-82323f842344"],"path":"/invoice-previews","baseUrlOptions":["https://app.synthetic.ai/api/v1"],"title":"List invoice previews","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The contract whose draft amendment to preview.","uniqueKey":"contractId","typeLabel":"string\u003cuuid>"},"terms":{"type":"object","properties":{"startAt":{"format":"date-time","description":"The first day the terms cover. Only the date is used; send it as midnight UTC.","type":"string","uniqueKey":"terms.startAt","typeLabel":"string\u003cdate-time>"},"endAt":{"format":"date-time","description":"The day the terms end. They cover the days before this date, not the date itself. Only the date is used; send it as midnight UTC.","type":"string","uniqueKey":"terms.endAt","typeLabel":"string\u003cdate-time>"},"paymentTermsDays":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many days the customer has to pay each invoice. Leave it out for 0, which makes payment due the day the invoice is issued.","uniqueKey":"terms.paymentTermsDays","typeLabel":"integer"},"lineItems":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","description":"What the line item says on each invoice.","isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].description","typeLabel":"string"},"amount":{"type":"object","properties":{"value":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].amount.value","typeLabel":"integer"},"currencyCode":{"type":"string","enum":["USD","CAD","EUR","USDC"],"isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].amount.currencyCode","typeLabel":"enum\u003cstring>"}},"required":["value","currencyCode"],"description":"What the line item charges each time it bills. Its value is a whole number of the currency's smallest unit, such as cents.","isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].amount","typeLabel":"object"},"cadence":{"oneOf":[{"type":"string","description":"How often the line item bills; null for a one-time charge.","enum":["MONTHLY","QUARTERLY","SEMI_ANNUAL","ANNUAL"],"isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].cadence.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How often the line item bills; null for a one-time charge.","isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].cadence.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"terms.lineItems.items.[INDEX].cadence","typeLabel":"enum\u003cstring> | null"},"billingTiming":{"type":"string","enum":["IN_ADVANCE","IN_ARREARS"],"description":"When a line item with a cadence bills for each period: IN_ADVANCE on the invoice dated the day the period starts, IN_ARREARS on the invoice dated the day it ends. Leave it out for IN_ADVANCE, and for a one-time charge.","uniqueKey":"terms.lineItems.items.[INDEX].billingTiming","typeLabel":"enum\u003cstring>"}},"required":["description","amount","cadence"],"uniqueKey":"terms.lineItems.items.[INDEX]","typeLabel":"object"},"description":"What the terms charge for. Every line item must be in the same currency.","uniqueKey":"terms.lineItems","typeLabel":"object[]"}},"description":"Contract terms to preview without saving them, such as a new contract's.","uniqueKey":"terms","typeLabel":"object"},"cancellation":{"type":"object","properties":{"contractId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"The contract to cancel.","isRequired":true,"uniqueKey":"cancellation.contractId","typeLabel":"string\u003cuuid>"},"cancelAt":{"format":"date-time","description":"The day the cancellation would end the contract. Only the date is used; send it as midnight UTC.","type":"string","isRequired":true,"uniqueKey":"cancellation.cancelAt","typeLabel":"string\u003cdate-time>"}},"required":["contractId","cancelAt"],"description":"A cancellation to preview without agreeing it: the contract, and the day it would end.","uniqueKey":"cancellation","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"contractId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","terms":{"startAt":"2023-11-07T05:31:56Z","endAt":"2023-11-07T05:31:56Z","paymentTermsDays":4503599627370495,"lineItems":[{"description":"\u003cstring>","amount":{"value":0}}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"908a675d-5899-494f-b3cd-96b4ce21b889":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"periodStartAt":{"format":"date-time","description":"The first day of the billing period the invoice is for. A line can bill for other days, such as a charge in arrears for the period before; its billingStartAt and billingEndAt give its own days. Only the date matters; the time is always midnight UTC.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].periodStartAt","typeLabel":"string\u003cdate-time>"},"periodEndAt":{"format":"date-time","description":"The day that billing period ends. It covers the days before this date, not the date itself. Only the date matters; the time is always midnight UTC.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].periodEndAt","typeLabel":"string\u003cdate-time>"},"scheduledIssueAt":{"format":"date-time","description":"The day the invoice would be issued. Only the date matters; the time is always midnight UTC.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].scheduledIssueAt","typeLabel":"string\u003cdate-time>"},"paymentTermsDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many days the customer would have to pay once the invoice is issued.","isRequired":true,"uniqueKey":"data.items.[INDEX].paymentTermsDays","typeLabel":"integer"},"plannedDueAt":{"format":"date-time","description":"The day payment would be due: scheduledIssueAt plus paymentTermsDays days. Only the date matters; the time is always midnight UTC.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].plannedDueAt","typeLabel":"string\u003cdate-time>"},"totalAmount":{"type":"object","properties":{"value":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"data.items.[INDEX].totalAmount.value","typeLabel":"integer"},"currencyCode":{"type":"string","enum":["USD","CAD","EUR","USDC"],"isRequired":true,"uniqueKey":"data.items.[INDEX].totalAmount.currencyCode","typeLabel":"enum\u003cstring>"}},"required":["value","currencyCode"],"additionalProperties":false,"description":"The sum of the invoice's lines. Its value is a whole number of the currency's smallest unit, so { \"value\": 200000, \"currencyCode\": \"USD\" } is $2,000.00.","isRequired":true,"uniqueKey":"data.items.[INDEX].totalAmount","typeLabel":"object"},"lines":{"type":"array","items":{"type":"object","properties":{"contractLineItemId":{"oneOf":[{"type":"string","description":"The contract line item this line charges for. Null for lines of `terms`, which are not saved.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].contractLineItemId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"The contract line item this line charges for. Null for lines of `terms`, which are not saved.","isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].contractLineItemId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].contractLineItemId","typeLabel":"string\u003cuuid> | null"},"description":{"type":"string","description":"What the line would say on the invoice.","isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].description","typeLabel":"string"},"billingStartAt":{"format":"date-time","description":"The first day this line would bill for. Only the date matters; the time is always midnight UTC.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].billingStartAt","typeLabel":"string\u003cdate-time>"},"billingEndAt":{"format":"date-time","description":"The day this line's billing would end. It covers the days before this date, not the date itself. Only the date matters; the time is always midnight UTC.","type":"string","isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].billingEndAt","typeLabel":"string\u003cdate-time>"},"amount":{"type":"object","properties":{"value":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].amount.value","typeLabel":"integer"},"currencyCode":{"type":"string","enum":["USD","CAD","EUR","USDC"],"isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].amount.currencyCode","typeLabel":"enum\u003cstring>"}},"required":["value","currencyCode"],"additionalProperties":false,"description":"What this line would charge. Its value is a whole number of the currency's smallest unit, such as cents.","isRequired":true,"uniqueKey":"data.items.[INDEX].lines.items.[INDEX].amount","typeLabel":"object"}},"required":["contractLineItemId","description","billingStartAt","billingEndAt","amount"],"additionalProperties":false,"description":"One charge on an invoice preview: what it is for, the days it covers and its amount.","uniqueKey":"data.items.[INDEX].lines.items.[INDEX]","typeLabel":"object"},"description":"Every line the invoice would have.","isRequired":true,"uniqueKey":"data.items.[INDEX].lines","typeLabel":"object[]"},"hasUnfinalizedChanges":{"type":"boolean","description":"Whether agreeing the contract's draft amendment would change what the contract bills. True when the contract has no agreed terms yet, because agreeing them is what starts its billing. The same on every invoice in the list. Always false for `terms` and `cancellation`.","isRequired":true,"uniqueKey":"data.items.[INDEX].hasUnfinalizedChanges","typeLabel":"boolean"}},"required":["periodStartAt","periodEndAt","scheduledIssueAt","paymentTermsDays","plannedDueAt","totalAmount","lines","hasUnfinalizedChanges"],"additionalProperties":false,"description":"An invoice that would be billed if a change went ahead: a contract's draft amendment being agreed, new terms being saved, or a contract being cancelled. It is worked out on each request and never stored, so it has no id, number or status.","uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data","typeLabel":"object[]"},"hasMore":{"type":"boolean","isRequired":true,"uniqueKey":"hasMore","typeLabel":"boolean"},"nextCursor":{"type":"string","uniqueKey":"nextCursor","typeLabel":"string"},"prevCursor":{"type":"string","uniqueKey":"prevCursor","typeLabel":"string"}},"required":["data","hasMore"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":[{"periodStartAt":"2023-11-07T05:31:56Z","periodEndAt":"2023-11-07T05:31:56Z","scheduledIssueAt":"2023-11-07T05:31:56Z","paymentTermsDays":0,"plannedDueAt":"2023-11-07T05:31:56Z","totalAmount":{"value":0,"currencyCode":"USD"},"lines":[{"contractLineItemId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","description":"\u003cstring>","billingStartAt":"2023-11-07T05:31:56Z","billingEndAt":"2023-11-07T05:31:56Z","amount":{"value":0,"currencyCode":"USD"}}],"hasUnfinalizedChanges":true}],"hasMore":true,"nextCursor":"\u003cstring>","prevCursor":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"0838e7e0-97fb-47cc-b6af-6f3963f8cddb":{"description":"Input validation failed","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"Input validation failed","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"The error code","example":"BAD_REQUEST","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"required":["message","code"],"additionalProperties":false,"title":"Input validation failed error (400)","description":"The error information","example":{"code":"BAD_REQUEST","message":"Input validation failed","issues":[]},"uniqueKey":"","typeLabel":"Input validation failed error (400) · object"},"examples":{"Example":{"title":"Example","value":{"code":"BAD_REQUEST","message":"Input validation failed","issues":[]}}},"exampleType":"generated"}},"exampleType":"generated"},"895ff269-bbe6-4256-910a-1bab713cb192":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"Unauthorized","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"The error code","example":"UNAUTHORIZED","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"required":["message","code"],"additionalProperties":false,"title":"Unauthorized error (401)","description":"The error information","example":{"code":"UNAUTHORIZED","message":"Unauthorized","issues":[]},"uniqueKey":"","typeLabel":"Unauthorized error (401) · object"},"examples":{"Example":{"title":"Example","value":{"code":"UNAUTHORIZED","message":"Unauthorized","issues":[]}}},"exampleType":"generated"}},"exampleType":"generated"},"3ee04dd4-9abf-4368-8774-1f943a196a2b":{"description":"The record does not exist for your business.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"The record does not exist for your business.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"The error code","example":"NOT_FOUND","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"required":["message","code"],"additionalProperties":false,"title":"The record does not exist for your business. error (404)","description":"The error information","example":{"code":"NOT_FOUND","message":"The record does not exist for your business.","issues":[]},"uniqueKey":"","typeLabel":"The record does not exist for your business. error (404) · object"},"examples":{"Example":{"title":"Example","value":{"code":"NOT_FOUND","message":"The record does not exist for your business.","issues":[]}}},"exampleType":"generated"}},"exampleType":"generated"},"4a4440f3-964d-435c-83cd-9ce813a0300f":{"description":"An unexpected error occurred.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"The error message","example":"An unexpected error occurred.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"The error code","example":"INTERNAL_SERVER_ERROR","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"issues":{"description":"An array of issues that were responsible for the error","example":[],"type":"array","items":{"type":"object","properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"}},"required":["message"],"additionalProperties":false,"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"required":["message","code"],"additionalProperties":false,"title":"An unexpected error occurred. error (500)","description":"The error information","example":{"code":"INTERNAL_SERVER_ERROR","message":"An unexpected error occurred.","issues":[]},"uniqueKey":"","typeLabel":"An unexpected error occurred. error (500) · object"},"examples":{"Example":{"title":"Example","value":{"code":"INTERNAL_SERVER_ERROR","message":"An unexpected error occurred.","issues":[]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"fec89301-671c-45a5-aa24-0ca826c23e4c":{"BearerAuth":{"type":"http","scheme":"bearer","description":"An API key created in Settings, sent as `Authorization: Bearer \u003ckey>`.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"fe02b890-748b-4bb0-9955-82323f842344":{"url":"https://app.synthetic.ai/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An API key created in Settings, sent as `Authorization: Bearer \u003ckey>`.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key created in Settings, sent as `Authorization: Bearer \u003ckey>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"https://app.synthetic.ai/api/v1/openapi.json"},"subdomain":"synthetic-intelligences-inc","siteName":"Synthetic API","title":"List invoice previews - Synthetic API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T22:14:52.923Z","originalFileLocation":"api-reference/contracts/list-invoice-previews.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=\"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body: - contractId: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send cancellation instead. - terms: the invoices that terms would bill before they are saved, such as a new contract\u0026#x27;s. Refused when the terms cannot be billed, such as terms with no line items; the error says why. - cancellation: the invoice that would still be billed if the contract were cancelled from cancelAt, for its last charges billed in arrears (IN_ARREARS). Empty when there are none. Every invoice comes back on one page, so hasMore is always false. Needs a key holding contracts:read and invoices:read.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Synthetic API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List invoice previews - Synthetic API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body: - contractId: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send cancellation instead. - terms: the invoices that terms would bill before they are saved, such as a new contract\u0026#x27;s. Refused when the terms cannot be billed, such as terms with no line items; the error says why. - cancellation: the invoice that would still be billed if the contract were cancelled from cancelAt, for its last charges billed in arrears (IN_ARREARS). Empty when there are none. Every invoice comes back on one page, so hasMore is always false. Needs a key holding contracts:read and invoices:read.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Synthetic API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://synthetic-intelligences-inc.mintlify.app/_mintlify/api/og/v2?division=Contracts\u0026amp;title=List+invoice+previews\u0026amp;description=Lists+the+invoices+a+change+would+bill%2C+before+the+change+is+made%2C+in+the+order+they+would+be+issued.+Send+exactly+one+of+these+in+the+body%3A%0A%0A-+%60contractId%60%3A+th\u0026amp;theme=a479a14ec030af800e1f5c00\u0026amp;signature=a98e258355cc6f762cf6e8bc3aa7763837d840883e2cba49a1f320db373ea532\">\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=\"List invoice previews - Synthetic API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body: - contractId: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send cancellation instead. - terms: the invoices that terms would bill before they are saved, such as a new contract\u0026#x27;s. Refused when the terms cannot be billed, such as terms with no line items; the error says why. - cancellation: the invoice that would still be billed if the contract were cancelled from cancelAt, for its last charges billed in arrears (IN_ARREARS). Empty when there are none. Every invoice comes back on one page, so hasMore is always false. Needs a key holding contracts:read and invoices:read.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://synthetic-intelligences-inc.mintlify.app/_mintlify/api/og/v2?division=Contracts\u0026amp;title=List+invoice+previews\u0026amp;description=Lists+the+invoices+a+change+would+bill%2C+before+the+change+is+made%2C+in+the+order+they+would+be+issued.+Send+exactly+one+of+these+in+the+body%3A%0A%0A-+%60contractId%60%3A+th\u0026amp;theme=a479a14ec030af800e1f5c00\u0026amp;signature=a98e258355cc6f762cf6e8bc3aa7763837d840883e2cba49a1f320db373ea532\">\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/synthetic-intelligences-inc/Mg1HiyJW6ibf7wLe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Synthetic API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4f7658\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/contracts/list-invoice-previews.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.synthetic.ai/#organization\",\"name\":\"Synthetic API\",\"url\":\"https://docs.synthetic.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/synthetic-intelligences-inc/fQrygfnnSQo6sqbf/logo/light.svg?fit=max\u0026auto=format\u0026n=fQrygfnnSQo6sqbf\u0026q=85\u0026s=2dda80021fb41535557588dfc2db8171\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.synthetic.ai#website\",\"name\":\"Synthetic API\",\"url\":\"https://docs.synthetic.ai\",\"publisher\":{\"@id\":\"https://docs.synthetic.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews#webpage\",\"url\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews\",\"name\":\"List invoice previews\",\"description\":\"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body: - contractId: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send cancellation instead. - terms: the invoices that terms would bill before they are saved, such as a new contract's. Refused when the terms cannot be billed, such as terms with no line items; the error says why. - cancellation: the invoice that would still be billed if the contract were cancelled from cancelAt, for its last charges billed in arrears (IN_ARREARS). Empty when there are none. Every invoice comes back on one page, so hasMore is always false. Needs a key holding contracts:read and invoices:read.\",\"dateModified\":\"2026-10-26T22:14:52.923Z\",\"isPartOf\":{\"@id\":\"https://docs.synthetic.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contracts\",\"item\":\"https://docs.synthetic.ai/api-reference/contracts/list-a-contracts-amendments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List invoice previews\",\"item\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews#apireference\",\"headline\":\"List invoice previews\",\"name\":\"List invoice previews\",\"description\":\"Lists the invoices a change would bill, before the change is made, in the order they would be issued. Send exactly one of these in the body: - contractId: the invoices the contract will bill from the start of its draft amendment, once that amendment is agreed. Refused when the contract has no draft amendment or is deleted. If the draft amendment is a cancellation, the list is empty; send cancellation instead. - terms: the invoices that terms would bill before they are saved, such as a new contract's. Refused when the terms cannot be billed, such as terms with no line items; the error says why. - cancellation: the invoice that would still be billed if the contract were cancelled from cancelAt, for its last charges billed in arrears (IN_ARREARS). Empty when there are none. Every invoice comes back on one page, so hasMore is always false. Needs a key holding contracts:read and invoices:read.\",\"url\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews\",\"mainEntityOfPage\":{\"@id\":\"https://docs.synthetic.ai/api-reference/contracts/list-invoice-previews#webpage\"},\"dateModified\":\"2026-10-26T22:14:52.923Z\",\"publisher\":{\"@id\":\"https://docs.synthetic.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.synthetic.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Synthetic API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Synthetic API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /customers","href":"/api-reference/customers/list-customers"},{"title":"Get a customer","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /customers/{id}","href":"/api-reference/customers/get-a-customer"}]},{"group":"Contracts","pages":[{"title":"List a contract's amendments","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /amendments","href":"/api-reference/contracts/list-a-contracts-amendments"},{"title":"Get an amendment","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /amendments/{id}","href":"/api-reference/contracts/get-an-amendment"},{"title":"List contracts","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /contracts","href":"/api-reference/contracts/list-contracts"},{"title":"Get a contract","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /contracts/{id}","href":"/api-reference/contracts/get-a-contract"},{"title":"List a contract's line items","description":"Lists what one contract charges for, oldest first, a deleted contract included: under the contract's current amendment, or under the amendment named by `amendmentId`. A line item keeps its id across amendments, so comparing two amendments' lists by id shows what changed. A contract of another entity, or an amendment that is not one of the contract's, has none. Page with `limit` and the cursors from the previous page; `hasMore` says whether more rows lie in the direction being read. Keep the same contract and `amendmentId` for the whole run. Needs a key holding `contracts:read`.","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /contract-line-items","href":"/api-reference/contracts/list-a-contracts-line-items"},{"title":"List invoice previews","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json query /invoice-previews","href":"/api-reference/contracts/list-invoice-previews"}]},{"group":"Invoices","pages":[{"title":"List invoices","description":"Lists invoices, oldest first unless `orderBy` asks for another order. Page with `limit` and the cursors from the previous page; `hasMore` says whether more rows lie in the direction being read. Keep the same filters and the same `orderBy` for the whole run. Needs a key holding `invoices:read`.","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /invoices","href":"/api-reference/invoices/list-invoices"},{"title":"Get an invoice","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /invoices/{id}","href":"/api-reference/invoices/get-an-invoice"}]},{"group":"Payments","pages":[{"title":"List payments","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /payments","href":"/api-reference/payments/list-payments"},{"title":"Get a payment","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /payments/{id}","href":"/api-reference/payments/get-a-payment"}]},{"group":"System","pages":[{"title":"Identify the caller","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /me","href":"/api-reference/system/identify-the-caller"},{"title":"Check that the API is reachable","deprecated":null,"version":null,"openapi":"https://app.synthetic.ai/api/v1/openapi.json get /health","href":"/api-reference/system/check-that-the-api-is-reachable"}]}]}]},"title":"List invoice previews - Synthetic API","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}