diff --git a/embedded/openapi/spec3.json b/embedded/openapi/spec3.json index 4f6214f..bd77486 100644 --- a/embedded/openapi/spec3.json +++ b/embedded/openapi/spec3.json @@ -93085,10 +93085,10 @@ } } }, - "/v1/invoices/{invoice}/finalize": { + "/v1/invoices/{invoice}/add_lines": { "post": { - "description": "

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

", - "operationId": "PostInvoicesInvoiceFinalize", + "description": "

Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.

", + "operationId": "PostInvoicesInvoiceAddLines", "parameters": [ { "in": "path", @@ -93108,15 +93108,19 @@ "expand": { "explode": true, "style": "deepObject" + }, + "invoice_metadata": { + "explode": true, + "style": "deepObject" + }, + "lines": { + "explode": true, + "style": "deepObject" } }, "schema": { "additionalProperties": false, "properties": { - "auto_advance": { - "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.", - "type": "boolean" - }, "expand": { "description": "Specifies which fields in the response should be expanded.", "items": { @@ -93124,235 +93128,588 @@ "type": "string" }, "type": "array" - } - }, - "type": "object" - } - } - }, - "required": false - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/invoice" - } - } - }, - "description": "Successful response." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "Error response." - } - } - } - }, - "/v1/invoices/{invoice}/lines": { - "get": { - "description": "

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

", - "operationId": "GetInvoicesInvoiceLines", - "parameters": [ - { - "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", - "in": "query", - "name": "ending_before", - "required": false, - "schema": { - "maxLength": 5000, - "type": "string" - }, - "style": "form" - }, - { - "description": "Specifies which fields in the response should be expanded.", - "explode": true, - "in": "query", - "name": "expand", - "required": false, - "schema": { - "items": { - "maxLength": 5000, - "type": "string" - }, - "type": "array" - }, - "style": "deepObject" - }, - { - "in": "path", - "name": "invoice", - "required": true, - "schema": { - "maxLength": 5000, - "type": "string" - }, - "style": "simple" - }, - { - "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", - "in": "query", - "name": "limit", - "required": false, - "schema": { - "type": "integer" - }, - "style": "form" - }, - { - "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", - "in": "query", - "name": "starting_after", - "required": false, - "schema": { - "maxLength": 5000, - "type": "string" - }, - "style": "form" - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "encoding": {}, - "schema": { - "additionalProperties": false, - "properties": {}, - "type": "object" - } - } - }, - "required": false - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "description": "", - "properties": { - "data": { - "description": "Details about each object.", - "items": { - "$ref": "#/components/schemas/line_item" + }, + "invoice_metadata": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" }, - "type": "array" - }, - "has_more": { - "description": "True if this list has another page of items after this one that can be fetched.", - "type": "boolean" - }, - "object": { - "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.", - "enum": [ - "list" - ], - "type": "string" - }, - "url": { - "description": "The URL where this list can be accessed.", - "maxLength": 5000, - "type": "string" - } + { + "enum": [ + "" + ], + "type": "string" + } + ], + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`." }, - "required": [ - "data", - "has_more", - "object", - "url" - ], - "title": "InvoiceLinesList", - "type": "object", - "x-expandableFields": [ - "data" - ] - } - } - }, - "description": "Successful response." - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error" - } - } - }, - "description": "Error response." - } - } - } - }, - "/v1/invoices/{invoice}/lines/{line_item_id}": { - "post": { - "description": "

Updates an invoice’s line item. Some fields, such as tax_amounts, only live on the invoice line item,\nso they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice\nitem and the invoice line item, so updates on this endpoint will propagate to the invoice item as well.\nUpdating an invoice’s line item is only possible before the invoice is finalized.

", - "operationId": "PostInvoicesInvoiceLinesLineItemId", - "parameters": [ - { - "description": "Invoice ID of line item", - "in": "path", - "name": "invoice", - "required": true, - "schema": { - "maxLength": 5000, - "type": "string" - }, - "style": "simple" - }, - { - "description": "Invoice line item ID", - "in": "path", - "name": "line_item_id", - "required": true, - "schema": { - "maxLength": 5000, - "type": "string" - }, - "style": "simple" - } - ], - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "encoding": { - "discounts": { - "explode": true, - "style": "deepObject" - }, - "expand": { - "explode": true, - "style": "deepObject" - }, - "metadata": { - "explode": true, - "style": "deepObject" - }, - "period": { - "explode": true, - "style": "deepObject" - }, - "price_data": { - "explode": true, - "style": "deepObject" - }, - "tax_amounts": { - "explode": true, - "style": "deepObject" - }, - "tax_rates": { - "explode": true, - "style": "deepObject" - } - }, + "lines": { + "description": "The line items to add.", + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "discountable": { + "type": "boolean" + }, + "discounts": { + "anyOf": [ + { + "items": { + "properties": { + "coupon": { + "maxLength": 5000, + "type": "string" + }, + "discount": { + "maxLength": 5000, + "type": "string" + }, + "promotion_code": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "discounts_data_param", + "type": "object" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "invoice_item": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "period": { + "properties": { + "end": { + "format": "unix-time", + "type": "integer" + }, + "start": { + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "title": "period", + "type": "object" + }, + "price": { + "maxLength": 5000, + "type": "string" + }, + "price_data": { + "properties": { + "currency": { + "type": "string" + }, + "product": { + "maxLength": 5000, + "type": "string" + }, + "product_data": { + "properties": { + "description": { + "maxLength": 40000, + "type": "string" + }, + "images": { + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "tax_code": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "product_data", + "type": "object" + }, + "tax_behavior": { + "enum": [ + "exclusive", + "inclusive", + "unspecified" + ], + "type": "string" + }, + "unit_amount": { + "type": "integer" + }, + "unit_amount_decimal": { + "format": "decimal", + "type": "string" + } + }, + "required": [ + "currency" + ], + "title": "one_time_price_data_with_product_data", + "type": "object" + }, + "quantity": { + "type": "integer" + }, + "tax_amounts": { + "anyOf": [ + { + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "tax_rate_data": { + "properties": { + "country": { + "maxLength": 5000, + "type": "string" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "display_name": { + "maxLength": 50, + "type": "string" + }, + "inclusive": { + "type": "boolean" + }, + "jurisdiction": { + "maxLength": 50, + "type": "string" + }, + "percentage": { + "type": "number" + }, + "state": { + "maxLength": 2, + "type": "string" + }, + "tax_type": { + "enum": [ + "amusement_tax", + "communications_tax", + "gst", + "hst", + "igst", + "jct", + "lease_tax", + "pst", + "qst", + "rst", + "sales_tax", + "vat" + ], + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "display_name", + "inclusive", + "percentage" + ], + "title": "tax_rate_data_param", + "type": "object" + }, + "taxable_amount": { + "type": "integer" + } + }, + "required": [ + "amount", + "tax_rate_data", + "taxable_amount" + ], + "title": "tax_amount_param", + "type": "object" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "tax_rates": { + "anyOf": [ + { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + } + }, + "title": "lines_data_param", + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "lines" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/finalize": { + "post": { + "description": "

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

", + "operationId": "PostInvoicesInvoiceFinalize", + "parameters": [ + { + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "auto_advance": { + "description": "Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/lines": { + "get": { + "description": "

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

", + "operationId": "GetInvoicesInvoiceLines", + "parameters": [ + { + "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": {}, + "schema": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "description": "", + "properties": { + "data": { + "description": "Details about each object.", + "items": { + "$ref": "#/components/schemas/line_item" + }, + "type": "array" + }, + "has_more": { + "description": "True if this list has another page of items after this one that can be fetched.", + "type": "boolean" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.", + "enum": [ + "list" + ], + "type": "string" + }, + "url": { + "description": "The URL where this list can be accessed.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "InvoiceLinesList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/lines/{line_item_id}": { + "post": { + "description": "

Updates an invoice’s line item. Some fields, such as tax_amounts, only live on the invoice line item,\nso they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice\nitem and the invoice line item, so updates on this endpoint will propagate to the invoice item as well.\nUpdating an invoice’s line item is only possible before the invoice is finalized.

", + "operationId": "PostInvoicesInvoiceLinesLineItemId", + "parameters": [ + { + "description": "Invoice ID of line item", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Invoice line item ID", + "in": "path", + "name": "line_item_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "discounts": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "period": { + "explode": true, + "style": "deepObject" + }, + "price_data": { + "explode": true, + "style": "deepObject" + }, + "tax_amounts": { + "explode": true, + "style": "deepObject" + }, + "tax_rates": { + "explode": true, + "style": "deepObject" + } + }, "schema": { "additionalProperties": false, "properties": { @@ -93829,6 +94186,126 @@ } } }, + "/v1/invoices/{invoice}/remove_lines": { + "post": { + "description": "

Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.

", + "operationId": "PostInvoicesInvoiceRemoveLines", + "parameters": [ + { + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "invoice_metadata": { + "explode": true, + "style": "deepObject" + }, + "lines": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "invoice_metadata": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ], + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`." + }, + "lines": { + "description": "The line items to remove.", + "items": { + "properties": { + "behavior": { + "enum": [ + "delete", + "unassign" + ], + "type": "string" + }, + "id": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "behavior", + "id" + ], + "title": "lines_data_param", + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "lines" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, "/v1/invoices/{invoice}/send": { "post": { "description": "

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

\n\n

Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.

", @@ -93870,7 +94347,367 @@ } } }, - "required": false + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/update_lines": { + "post": { + "description": "

Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.

", + "operationId": "PostInvoicesInvoiceUpdateLines", + "parameters": [ + { + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "invoice_metadata": { + "explode": true, + "style": "deepObject" + }, + "lines": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "invoice_metadata": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ], + "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data." + }, + "lines": { + "description": "The line items to update.", + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "discountable": { + "type": "boolean" + }, + "discounts": { + "anyOf": [ + { + "items": { + "properties": { + "coupon": { + "maxLength": 5000, + "type": "string" + }, + "discount": { + "maxLength": 5000, + "type": "string" + }, + "promotion_code": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "discounts_data_param", + "type": "object" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "period": { + "properties": { + "end": { + "format": "unix-time", + "type": "integer" + }, + "start": { + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "title": "period", + "type": "object" + }, + "price": { + "maxLength": 5000, + "type": "string" + }, + "price_data": { + "properties": { + "currency": { + "type": "string" + }, + "product": { + "maxLength": 5000, + "type": "string" + }, + "product_data": { + "properties": { + "description": { + "maxLength": 40000, + "type": "string" + }, + "images": { + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "tax_code": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "product_data", + "type": "object" + }, + "tax_behavior": { + "enum": [ + "exclusive", + "inclusive", + "unspecified" + ], + "type": "string" + }, + "unit_amount": { + "type": "integer" + }, + "unit_amount_decimal": { + "format": "decimal", + "type": "string" + } + }, + "required": [ + "currency" + ], + "title": "one_time_price_data_with_product_data", + "type": "object" + }, + "quantity": { + "type": "integer" + }, + "tax_amounts": { + "anyOf": [ + { + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "tax_rate_data": { + "properties": { + "country": { + "maxLength": 5000, + "type": "string" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "display_name": { + "maxLength": 50, + "type": "string" + }, + "inclusive": { + "type": "boolean" + }, + "jurisdiction": { + "maxLength": 50, + "type": "string" + }, + "percentage": { + "type": "number" + }, + "state": { + "maxLength": 2, + "type": "string" + }, + "tax_type": { + "enum": [ + "amusement_tax", + "communications_tax", + "gst", + "hst", + "igst", + "jct", + "lease_tax", + "pst", + "qst", + "rst", + "sales_tax", + "vat" + ], + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "display_name", + "inclusive", + "percentage" + ], + "title": "tax_rate_data_param", + "type": "object" + }, + "taxable_amount": { + "type": "integer" + } + }, + "required": [ + "amount", + "tax_rate_data", + "taxable_amount" + ], + "title": "tax_amount_param", + "type": "object" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "tax_rates": { + "anyOf": [ + { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + } + }, + "required": [ + "id" + ], + "title": "lines_data_param", + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "lines" + ], + "type": "object" + } + } + }, + "required": true }, "responses": { "200": {