> ## Documentation Index > Fetch the complete documentation index at: https://docs.restaurant365.com/llms.txt > Use this file to discover all available pages before exploring further. # /public/accounting/v1/accounts-payable/payments > Creates AP payments in bulk ## OpenAPI ````json POST /public/accounting/v1/accounts-payable/payments { "openapi": "3.0.1", "info": { "title": "R365.PublicApi", "contact": { "name": "R365 Services Team", "email": "r365@restaurant365.com" }, "version": "1.0" }, "security": [ { "Bearer": [] } ], "paths": { "/public/accounting/v1/accounts-payable/payments": { "post": { "tags": [ "accounting" ], "description": "Creates AP payments in bulk", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Requests.CreatePaymentsRequest" } } } }, "responses": { "200": { "description": "Payments created successfully.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Responses.CreatePaymentsResponse" } } } }, "207": { "description": "Multi-Status – batch operation result containing per-payment success or failure.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Responses.CreatePaymentsResponse" } } } }, "400": { "description": "Bad request – one or more validation errors occurred." }, "401": { "description": "Unauthorized – authentication credentials are missing or invalid." }, "403": { "description": "Forbidden – the caller does not have permission to perform this operation." }, "422": { "description": "Unprocessable Content", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Accounting.Public.Models.R365Error" } } } } } } } }, "components": { "schemas": { "R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Requests.CreatePaymentsRequest": { "required": [ "payments" ], "type": "object", "properties": { "payments": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Requests.PaymentCreateItem" }, "description": "The list of AP payments to create." } }, "additionalProperties": false }, "R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Responses.CreatePaymentsResponse": { "type": "object", "properties": { "results": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Responses.PaymentCreateResult" }, "description": "Per-payment results for the batch operation." } }, "additionalProperties": false }, "R365.Accounting.Public.Models.R365Error": { "type": "object", "properties": { "errorCode": { "type": "string", "nullable": true }, "innerError": { "$ref": "#/components/schemas/R365.Accounting.Public.Models.R365Error" } } }, "R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Requests.PaymentCreateItem": { "required": [ "locationId", "vendorId", "bankGlAccountId", "paymentDate", "paymentAmount" ], "type": "object", "properties": { "locationId": { "type": "string", "description": "The identifier of the location for the payment. Required.", "format": "uuid" }, "vendorId": { "type": "string", "description": "The identifier of the vendor being paid. Required.", "format": "uuid" }, "bankGlAccountId": { "type": "string", "description": "The identifier of the bank GL account used for the payment. Required.", "format": "uuid" }, "paymentDate": { "type": "string", "description": "The date of the payment. Required.", "format": "date" }, "paymentAmount": { "type": "number", "description": "The amount of the payment. Required.", "format": "decimal" }, "comment": { "type": "string", "description": "Optional comment for the payment.", "nullable": true }, "checkNumber": { "type": "string", "description": "Optional check number associated with the payment.", "nullable": true } }, "additionalProperties": false }, "R365.Accounting.AccountsPayable.Contracts.Payment.Apis.Responses.PaymentCreateResult": { "type": "object", "properties": { "requestIndex": { "type": "integer", "description": "Zero-based index of the payment in the original request array.", "format": "int32" }, "vendorId": { "type": "string", "description": "The vendor identifier from the original request.", "format": "uuid" }, "status": { "type": "string", "description": "Result status of this payment. Valid values: Unknown, Succeeded, Failed." }, "errorCode": { "type": "string", "description": "Error code if the payment failed, otherwise null.", "nullable": true }, "errorMessage": { "type": "string", "description": "Human-readable error message if the payment failed, otherwise null.", "nullable": true }, "id": { "type": "string", "description": "The identifier of the created payment if succeeded, otherwise null.", "format": "uuid", "nullable": true } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "http", "description": "Put **_ONLY_** your JWT Bearer token on textbox below!", "scheme": "Bearer", "bearerFormat": "JWT" } } } } ````