{"openapi":"3.0.1","info":{"title":"BILL v3 API","description":"BILL is a cloud-based financial operations platform for an organization's accounts payable (AP), accounts receivable (AR), and spend & expense (S&E) automation.\n\nThe BILL v3 API gives you access to the same infrastructure that powers the AP, AR, and S&E products. In addition, you can receive real-time event notifications with webhooks.\n\nThe BILL Developer Documentation is available at [developer.bill.com](https://developer.bill.com/docs/home).\n\n## Quickstart\nSign-up and generate a developer key for working with the BILL v3 API. With this key, you can build with the AP, AR, BILL network, and webhook workflows. See [Sandbox API sign up](https://developer.bill.com/docs/api-sandbox-sign-up) for more information.\n\n### Spend & Expense API\nAn API token is required for working with the Spend & Expense API. See [Authentication with Spend & Expense API token](https://developer.bill.com/docs/authentication-with-api-token) for more information.\n\n### BILL v3 API in Postman\nWith this collection, you have access to the BILL v3 API in Postman. When you save your sandbox API credentials as environment variables in Postman, you can simply refer to the variables when you are testing with the BILL v3 API. See [BILL v3 API in Postman](https://developer.bill.com/docs/bill-v3-api-in-postman) for more information.","version":"1"},"servers":[{"url":"https://gateway.stage.bill.com/connect","description":"sandbox"}],"paths":{"/v3/attachments/customers/{customerId}":{"get":{"tags":["attachments"],"summary":"Get list of customer attachments","description":"Get a list of attachments associated with a customer.\n\nFrom the response, use `downloadLink` in a GET request to download the attachment.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {attachment_name}\n```","operationId":"listCustomerAttachments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"responses":{"200":{"description":"Get list of customer attachments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["attachments"],"summary":"Upload customer attachment","description":"Upload an attachment for an existing customer. The file size limit is 6 MB.\n\n**Note**: When you upload an attachment, it takes a few minutes for BILL to complete the upload process.\n\nSee [Documents and attachments](https://developer.bill.com/docs/documents-attachments) in the Guides section for more information, sample requests, and responses.","operationId":"createCustomerAttachment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}},{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string","description":"File name with extension. For example, to upload a PDF attachment titled `business_details`, set `name` as `business_details.pdf`.","example":"business_details.pdf"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"array","description":"Attachment file","items":{"type":"string","format":"byte"}}}},"required":true},"responses":{"200":{"description":"Upload customer attachment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/attachments/invoices/{invoiceId}":{"get":{"tags":["attachments"],"summary":"Get list of invoice attachments","description":"Get a list of attachments associated with an invoice.\n\nFrom the response, use `downloadLink` in a GET request to download the attachment.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {attachment_name}\n```","operationId":"listInvoiceAttachments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"responses":{"200":{"description":"Get list of invoice attachments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["attachments"],"summary":"Upload invoice attachment","description":"Upload an attachment for an existing invoice. The file size limit is 6 MB.\n\n**Note**: When you upload an attachment, it takes a few minutes for BILL to complete the upload process.\n\nSee [Documents and attachments](https://developer.bill.com/docs/documents-attachments) in the Guides section for more information, sample requests, and responses.","operationId":"createInvoiceAttachment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}},{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string","description":"File name with extension. For example, to upload a PDF attachment titled `business_details`, set `name` as `business_details.pdf`.","example":"business_details.pdf"}},{"name":"replaceInvoicePdf","in":"query","schema":{"type":"boolean","description":"Set as `true` to replace the existing invoice PDF with a new PDF attachment. The default value is `false`.\n\nThe invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment. See [Get invoice payment link](https://developer.bill.com/reference/getpaymentlink) to learn more about invoice payment links.\n\n**Note**: You can get the list of invoice attachments with `GET /v3/attachments/invoices/{invoiceId}`. All the attachments in the list (including the invoice PDF) are sent as email attachments when you send the invoice to the customer.","nullable":true,"example":false}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"array","description":"Attachment file","items":{"type":"string","format":"byte"}}}},"required":true},"responses":{"200":{"description":"Upload invoice attachment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/attachments/vendors/{vendorId}":{"get":{"tags":["attachments"],"summary":"Get list of vendor attachments","description":"Get a list of attachments associated with a vendor.\n\nFrom the response, use `downloadLink` in a GET request to download the attachment.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {attachment_name}\n```","operationId":"listVendorAttachments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Get list of vendor attachments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["attachments"],"summary":"Upload vendor attachment","description":"Upload an attachment for an existing vendor. The file size limit is 6 MB.\n\n**Note**: When you upload an attachment, it takes a few minutes for BILL to complete the upload process.\n\nSee [Documents and attachments](https://developer.bill.com/docs/documents-attachments) in the Guides section for more information, sample requests, and responses.","operationId":"createVendorAttachment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}},{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string","description":"File name with extension. For example, to upload a PDF attachment titled `business_details`, set `name` as `business_details.pdf`.","example":"business_details.pdf"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"array","description":"Attachment file","items":{"type":"string","format":"byte"}}}},"required":true},"responses":{"200":{"description":"Upload vendor attachment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/attachments/{attachmentId}":{"get":{"tags":["attachments"],"summary":"Get attachment details","description":"Get details about an attachment.\n\nFrom the response, use `downloadLink` in a GET request to download the attachment.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {attachment_name}\n```","operationId":"getAttachment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"attachmentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the attachment. The value begins with `att`.","example":"{{attachment_id}}"}}],"responses":{"200":{"description":"Get attachment details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["attachments"],"summary":"Delete an attachment","description":"  Delete the existing attachment. A deleted attachment cannot be restored.   The deleted attachment is not available in the list of attachments.\n","operationId":"deleteAttachment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"attachmentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the attachment. The value begins with `att`.","example":"{{attachment_id}}"}}],"responses":{"200":{"description":"Delete an attachment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bill-approvals/actions":{"post":{"tags":["bill-approvals"],"summary":"Approve or deny a bill","description":"Approve or deny a bill. Approved bills can be paid. In the request, create an array of objects, where each object represents a single bill along with its approval or denial status.","operationId":"billApproveDenyActions","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BillApproveDenyActionRequestDto"}}}},"required":true},"responses":{"200":{"description":"Approve or deny a bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bill-approvals/pending-user-approvals":{"get":{"tags":["bill-approvals"],"summary":"Get list of bills pending approval","description":"Get a list of bills that are pending approval by a user. In the response, you get the list of bills that are pending approval for the currently signed-in user.","operationId":"listBillUserApprovals","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get list of bills pending approval response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBillUserApprovalsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bill-approvals/policies":{"get":{"tags":["bill-approvals"],"summary":"Get list of bill approval policies","description":"Get a list of bill approval policy objects.","operationId":"listBillApprovalPolicies","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get list of bill approval policies response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BillApprovalPolicyResponseDto"}}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["bill-approvals"],"summary":"Create a bill approval policy","description":"Create a new bill approval policy.\n\nIn your request, set `rules` and `approvers` in the specified format. For example, to create a bill approval policy for all bills greater than or equal to `$1000`, set `rules` for `BILL_AMOUNT`.\n```\n{\n  \"policyName\": \"Approval policy for bills >= $1000\",\n  \"rules\": [\n    {\n      \"key\": \"BILL_AMOUNT\",\n      \"op\": \"gte\",\n      \"values\": [\n        \"1000\"\n      ]\n    }\n  ],\n  \"approvers\": [\n    \"{approver_user_id}\"\n  ]\n}\n```","operationId":"createBillApprovalPolicy","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillApprovalPolicyRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a bill approval policy response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillApprovalPolicyResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bill-approvals/policies/{policyId}":{"put":{"tags":["bill-approvals"],"summary":"Update a bill approval policy","description":"Update an existing bill approval policy.","operationId":"updateBillApprovalPolicy","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"policyId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the approval policy. The value is in the `{organization_id}-{unique_id}` format.","example":"{{bill_approval_policy_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillApprovalPolicyRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a bill approval policy response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillApprovalPolicyResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["bill-approvals"],"summary":"Delete a bill approval policy","description":"  Delete an existing bill approval policy. A deleted approval policy cannot be restored.   The deleted policy is not available in the list of approval policies.\n","operationId":"deletePolicy","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"policyId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the approval policy. The value is in the `{organization_id}-{unique_id}` format.","example":"{{bill_approval_policy_id}}"}}],"responses":{"200":{"description":"Delete a bill approval policy response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bills":{"get":{"tags":["bills"],"summary":"Get list of bills","description":"Get a list of bill objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listBills","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{bill_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of bills response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["bills"],"summary":"Create a bill","description":"Create a new bill.\n\nSee [Bills](https://developer.bill.com/docs/ap-bills) in the Guides section for more information, sample requests, and responses.","operationId":"createBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bills/bulk":{"post":{"tags":["bills"],"summary":"Create multiple bills","description":"Create multiple bills with one API request. You can create up to 100 bills with one `POST /v3/bills/bulk` request.\n\nBulk bill creation at BILL follow a set of rules.\n* **Successful response**: In your bulk bill creation request, all your bills must be successfully created for a successful response. If any bill creation is not successful, the entire request fails and none of the bills in the request are created.\n* **You can create bills for multiple vendors**: You can create bills for one vendor or for multiple vendors with one `POST /v3/bills/bulk` request.\n\nSee [Bills](https://developer.bill.com/docs/ap-bills) in the Guides section for more information, sample requests, and responses.","operationId":"createBulkBills","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BillCreateRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple bills response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BillWithoutApproversResponseDto"}}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bills/record-payment":{"post":{"tags":["bills"],"summary":"Record AP payment","description":"Record an offline AP payment made to a vendor.\n\nAn offline payment is a payment made outside the BILL system. BILL simply applies the recorded payment amount to one or more bills for the vendor. BILL does not process the payment or transfer funds to the vendor when you record an AP payment with this endpoint.\n\nUse `POST /v3/payments` to create a payment with the BILL system. When you pay with `POST /v3/payments`, BILL processes the payment and transfers funds from your BILL organization funding account to the vendor.\n","operationId":"recordPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordPaymentRequestDto"}}},"required":true},"responses":{"200":{"description":"Record AP payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordPaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bills/{billId}":{"get":{"tags":["bills"],"summary":"Get bill details","description":"Get details about an existing bill.","operationId":"getBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"pattern":"^00n[a-zA-Z0-9]{17}$","type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}}],"responses":{"200":{"description":"Get bill details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillReadResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["bills"],"summary":"Replace a bill","description":"Update the number of line items in a bill. You can also update other bill details.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a bill. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the bill.\n* When you omit an existing line item `id`, the line item is removed from the bill.","operationId":"replaceBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillReplaceRequestDto"}}},"required":true},"responses":{"200":{"description":"Replace a bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["bills"],"summary":"Update a bill","description":"Update details about a bill line item. You can also update other bill details.\n\nYou can use the PATCH operation to modify line item details, such as `amount` and `description`. The bill line item `id` does not change with a PATCH operation.","operationId":"updateBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bills/{billId}/archive":{"post":{"tags":["bills"],"summary":"Archive a bill","description":"Archive an existing bill. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived bill with `POST /v3/bills/{billId}/restore`. There is no change when you archive an archived bill.","operationId":"archiveBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}}],"responses":{"200":{"description":"Archive a bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillWithoutApproversResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/bills/{billId}/restore":{"post":{"tags":["bills"],"summary":"Restore an archived bill","description":"Restore an archived bill. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored bills. There is no change when you restore a restored bill.","operationId":"restoreBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}}],"responses":{"200":{"description":"Restore an archived bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillWithoutApproversResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes":{"get":{"tags":["classifications"],"summary":"Get list of accounting classes","description":"Get a list of accounting class objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationAccountingClasses","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{accounting_class_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of accounting classes response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationAccountingClassResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create an accounting class","description":"Create a new accounting class.","operationId":"createClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationAccountingClassRequestDto"}}},"required":true},"responses":{"201":{"description":"Create an accounting class response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple accounting classes","description":"Create multiple accounting classes with one API request. You can create up to 50 accounting classes with one `POST /v3/classifications/accounting-classes/bulk` request.","operationId":"bulkCreateClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationAccountingClassRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple accounting classes response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple accounting classes","description":"Update details about multiple accounting classes with one API request.","operationId":"bulkUpdateClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationAccountingClassWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple accounting classes response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple accounting classes","description":"Archive multiple accounting classes with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of accounting classes. Each value begins with `cls`. Set the IDs as comma-separated values.","example":"{{accounting_class_id}}"}}],"responses":{"200":{"description":"Archive multiple accounting classes response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple accounting classes","description":"Restore multiple accounting classes with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of accounting classes. Each value begins with `cls`. Set the IDs as comma-separated values.","example":"{{accounting_class_id}}"}}],"responses":{"200":{"description":"Restore multiple accounting classes response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes/{id}":{"get":{"tags":["classifications"],"summary":"Get accounting class details","description":"Get details about an existing accounting class.","operationId":"getClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`.","example":"{{accounting_class_id}}"}}],"responses":{"200":{"description":"Get accounting class details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update an accounting class","description":"Update details about an existing accounting class.","operationId":"updateClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`.","example":"{{accounting_class_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationAccountingClassRequestDto"}}},"required":true},"responses":{"200":{"description":"Update an accounting class response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive an accounting class","description":"Archive an existing accounting class. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`.","example":"{{accounting_class_id}}"}}],"responses":{"200":{"description":"Archive an accounting class response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/accounting-classes/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived accounting class","description":"Restore an archived accounting class. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationAccountingClass","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`.","example":"{{accounting_class_id}}"}}],"responses":{"200":{"description":"Restore an accounting class response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts":{"get":{"tags":["classifications"],"summary":"Get list of chart of accounts","description":"Get a list of chart of accounts objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{chart_of_accounts_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationChartOfAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create a chart of accounts","description":"Create a new chart of accounts.","operationId":"createClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationChartOfAccountsRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple chart of accounts","description":"Create multiple chart of accounts with one API request. You can create up to 50 chart of accounts with one `POST /v3/classifications/chart-of-accounts/bulk` request.","operationId":"bulkCreateClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationChartOfAccountsRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple chart of accounts","description":"Update details about multiple chart of accounts with one API request.","operationId":"bulkUpdateClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationChartOfAccountsWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple chart of accounts","description":"Archive multiple chart of accounts with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated IDs of the chart of accounts. Values begin with `0ca`. Set the IDs as comma-separated values.","example":"{{chart_of_accounts_id}}"}}],"responses":{"200":{"description":"Archive multiple chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple chart of accounts","description":"Restore multiple chart of accounts with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated IDs of the chart of accounts. Values begin with `0ca`. Set the IDs as comma-separated values.","example":"{{chart_of_accounts_id}}"}}],"responses":{"200":{"description":"Restore multiple chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts/{id}":{"get":{"tags":["classifications"],"summary":"Get chart of accounts details","description":"Get details about an existing chart of accounts.","operationId":"getClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`.","example":"{{chart_of_accounts_id}}"}}],"responses":{"200":{"description":"Get chart of accounts details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update a chart of accounts","description":"Update details about an existing chart of accounts.","operationId":"updateClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`.","example":"{{chart_of_accounts_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationChartOfAccountsRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive a chart of accounts","description":"Archive an existing chart of accounts. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`.","example":"{{chart_of_accounts_id}}"}}],"responses":{"200":{"description":"Archive a chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/chart-of-accounts/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived chart of accounts","description":"Restore an archived chart of accounts. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationChartOfAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`.","example":"{{chart_of_accounts_id}}"}}],"responses":{"200":{"description":"Restore a chart of accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments":{"get":{"tags":["classifications"],"summary":"Get list of departments","description":"Get a list of department objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationDepartments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{department_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of classification departments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationDepartmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create a department","description":"Create a new department.","operationId":"createClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationDepartmentRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a department response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple departments","description":"  Create multiple departments with one API request. You can create up to   50 departments with one `POST /v3/classifications/departments/bulk` request.\n","operationId":"bulkCreateClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationDepartmentRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple departments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple departments","description":"Update multiple departments with one API request.","operationId":"bulkUpdateClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationDepartmentWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple departments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple departments","description":"Archive multiple departments with one API request. In the response, the `archived` field is set as `true`.","operationId":"bulkArchiveClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of departments. Each value begins with `0de`. Set the IDs as comma-separated values.","example":"{{department_id}}"}}],"responses":{"200":{"description":"Archive multiple departments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple departments","description":"Restore multiple departments with one API request. In the response, the `archived` field is set as `false`.","operationId":"bulkRestoreClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of departments. Each value begins with `0de`. Set the IDs as comma-separated values.","example":"{{department_id}}"}}],"responses":{"200":{"description":"Restore multiple departments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments/{id}":{"get":{"tags":["classifications"],"summary":"Get department details","description":"Get details about an existing department.","operationId":"getClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`.","example":"{{department_id}}"}}],"responses":{"200":{"description":"Get department details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update a department","description":"Update details about an existing department.","operationId":"updateClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`.","example":"{{department_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationDepartmentRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a department response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive a department","description":"Archive an existing department. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`.","example":"{{department_id}}"}}],"responses":{"200":{"description":"Archive a department response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/departments/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived department","description":"Restore an archived department. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationDepartment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`.","example":"{{department_id}}"}}],"responses":{"200":{"description":"Restore a department response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees":{"get":{"tags":["classifications"],"summary":"Get list of employees","description":"Get a list of employee objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationEmployees","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{employee_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of employees response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationEmployeeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create an employee","description":"Create a new employee.","operationId":"createClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationEmployeeRequestDto"}}},"required":true},"responses":{"201":{"description":"Create an employee response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple employees","description":"Create multiple employees with one API request. You can create up to 50 employees with one `POST /v3/classifications/employees/bulk` request.","operationId":"bulkCreateClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationEmployeeRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple employees response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple employees","description":"Update details about multiple employees with one API request.","operationId":"bulkUpdateClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationEmployeeWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple employees response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple employees","description":"Archive multiple employees with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of employees. Each value begins with `emp`. Set the IDs as comma-separated values.","example":"{{employee_id}}"}}],"responses":{"200":{"description":"Archive multiple employees response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple employees","description":"Restore multiple employees with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of employees. Each value begins with `emp`. Set the IDs as comma-separated values.","example":"{{employee_id}}"}}],"responses":{"200":{"description":"Restore multiple employees response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees/{id}":{"get":{"tags":["classifications"],"summary":"Get employee details","description":"Get details about an existing employee.","operationId":"getClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`.","example":"{{employee_id}}"}}],"responses":{"200":{"description":"Get employee details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update an employee","description":"Update details about an existing employee.","operationId":"updateClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`.","example":"{{employee_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationEmployeeRequestDto"}}},"required":true},"responses":{"200":{"description":"Update an employee response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive an employee","description":"Archive an existing employee. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`.","example":"{{employee_id}}"}}],"responses":{"200":{"description":"Archive an employee response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/employees/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived employee","description":"Restore an archived employee. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationEmployee","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`.","example":"{{employee_id}}"}}],"responses":{"200":{"description":"Restore an archived employee response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items":{"get":{"tags":["classifications"],"summary":"Get list of items","description":"Get a list of item objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationItems","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{item_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of items response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationItemResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create an item","description":"Create a new item.","operationId":"createClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationItemRequestDto"}}},"required":true},"responses":{"201":{"description":"Create an item response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple items","description":"Create multiple items with one API request. You can create up to 50 items with one `POST /v3/classifications/items/bulk` request.","operationId":"bulkCreateClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationItemRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple items response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple items","description":"Update details about multiple items with one API request.","operationId":"bulkUpdateClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationItemWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple items response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple items","description":"Archive multiple items with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of items. Each value begins with `0ii`. Set the IDs as comma-separated values.","example":"{{item_id}}"}}],"responses":{"200":{"description":"Archive multiple items response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple items","description":"Restore multiple items with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of items. Each value begins with `0ii`. Set the IDs as comma-separated values.","example":"{{item_id}}"}}],"responses":{"200":{"description":"Restore multiple items response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items/{id}":{"get":{"tags":["classifications"],"summary":"Get item details","description":"Get details about an existing item.","operationId":"getClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`.","example":"{{item_id}}"}}],"responses":{"200":{"description":"Get item details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update an item","description":"Update details about an existing item.","operationId":"updateClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`.","example":"{{item_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationItemRequestDto"}}},"required":true},"responses":{"200":{"description":"Update an item response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive an item","description":"Archive an existing item. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`.","example":"{{item_id}}"}}],"responses":{"200":{"description":"Archive an item response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/items/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived item","description":"Restore an archived item. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationItem","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`.","example":"{{item_id}}"}}],"responses":{"200":{"description":"Restore classification item response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs":{"get":{"tags":["classifications"],"summary":"Get list of jobs","description":"Get a list of job objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationJobs","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{job_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of jobs response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationJobResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create a job","description":"Create a new job.","operationId":"createClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationJobRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a job response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple jobs","description":"Create multiple jobs with one API request. You can create up to 50 jobs with one `POST /v3/classifications/jobs/bulk` request.","operationId":"bulkCreateClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationJobRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple jobs response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple jobs","description":"Update details about multiple jobs with one API request.","operationId":"bulkUpdateClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationJobWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple jobs response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple jobs","description":"Archive multiple jobs with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of jobs. Each value begins with `job`. Set the IDs as comma-separated values.","example":"{{job_id}}"}}],"responses":{"200":{"description":"Archive multiple jobs response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple jobs","description":"Restore multiple jobs with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of jobs. Each value begins with `job`. Set the IDs as comma-separated values.","example":"{{job_id}}"}}],"responses":{"200":{"description":"Restore multiple jobs response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs/{id}":{"get":{"tags":["classifications"],"summary":"Get job details","description":"Get details about an existing job.","operationId":"getClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the job. The value begins with `job`.","example":"{{job_id}}"}}],"responses":{"200":{"description":"Get job details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update a job","description":"Update details about an existing job.","operationId":"updateClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the job. The value begins with `job`.","example":"{{job_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationJobRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a job response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive a job","description":"Archive an existing job. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the job. The value begins with `job`.","example":"{{job_id}}"}}],"responses":{"200":{"description":"Archive a job response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/jobs/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived job","description":"Restore an archived job. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationJob","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the job. The value begins with `job`.","example":"{{job_id}}"}}],"responses":{"200":{"description":"Restore an archived job response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations":{"get":{"tags":["classifications"],"summary":"Get list of locations","description":"Get a list of location objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listClassificationLocations","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{location_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of locations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClassificationLocationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["classifications"],"summary":"Create a location","description":"Create a new location.","operationId":"createClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClassificationLocationRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a location response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations/bulk":{"post":{"tags":["classifications"],"summary":"Create multiple locations","description":"Create multiple locations with one API request. You can create up to 50 locations with one `POST /v3/classifications/locations/bulk` request.","operationId":"bulkCreateClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateClassificationLocationRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple locations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update multiple locations","description":"Update details about multiple locations with one API request.","operationId":"bulkUpdateClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateClassificationLocationWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple locations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations/bulk/archive":{"post":{"tags":["classifications"],"summary":"Archive multiple locations","description":"Archive multiple locations with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of locations. Each value begins with `loc`. Set the IDs as comma-separated values.","example":"{{location_id}}"}}],"responses":{"200":{"description":"Archive multiple locations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations/bulk/restore":{"post":{"tags":["classifications"],"summary":"Restore multiple locations","description":"Restore multiple locations with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"List of BILL-generated IDs of locations. Each value begins with `loc`. Set the IDs as comma-separated values.","example":"{{location_id}}"}}],"responses":{"200":{"description":"Restore multiple locations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations/{id}":{"get":{"tags":["classifications"],"summary":"Get location details","description":"Get details about an existing location.","operationId":"getClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`.","example":"{{location_id}}"}}],"responses":{"200":{"description":"Get location details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["classifications"],"summary":"Update a location","description":"Update details about an existing location.","operationId":"updateClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`.","example":"{{location_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateClassificationLocationRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a location response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations/{id}/archive":{"post":{"tags":["classifications"],"summary":"Archive a location","description":"Archive an existing location. In the response, the `archived` field is set as `true`.","operationId":"archiveClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`.","example":"{{location_id}}"}}],"responses":{"200":{"description":"Archive a location response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/classifications/locations/{id}/restore":{"post":{"tags":["classifications"],"summary":"Restore an archived location","description":"Restore an archived location. In the response, the `archived` field is set as `false`.","operationId":"restoreClassificationLocation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"id","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`.","example":"{{location_id}}"}}],"responses":{"200":{"description":"Restore an archived location response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos":{"get":{"tags":["credit-memos"],"summary":"Get list of credit memos","description":"Get a list of credit memo objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listCreditMemos","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{credit_memo_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of credit memos response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCreditMemoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["credit-memos"],"summary":"Create a credit memo","description":"Create a new credit memo.\n\nWith a credit memo, you can adjust the invoice amount owed by a customer.\n\nSee [Credit memos](https://developer.bill.com/docs/ar-credit-memos) in the Guides section for more information, sample requests, and responses.","operationId":"createCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCreditMemoRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a credit memo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos/bulk":{"put":{"tags":["credit-memos"],"summary":"Replace multiple credit memos","description":"Update the number of line items in multiple credit memos with one API request. You can also update other details for each credit memo.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a credit memo. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the credit memo.\n* When you omit an existing line item `id`, the line item is removed from the credit memo.","operationId":"bulkReplaceCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/ReplaceCreditMemoWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Replace multiple credit memos response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["credit-memos"],"summary":"Create multiple credit memos","description":"Create multiple credit memos with one API request. You can create up to 50 credit memos with one `POST /v3/credit-memos/bulk` request.","operationId":"bulkCreateCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateCreditMemoRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple credit memos response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["credit-memos"],"summary":"Update multiple credit memos","description":"Update details about line items in multiple credit memos with one API request. You can also update other credit memo details.\n\nYou can use the PATCH operation to modify line item details, such as `amount`, `quantity`, and `description`. The credit memo line item `id` does not change with a PATCH operation.","operationId":"bulkUpdateCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateCreditMemoWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple credit memos response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos/bulk/archive":{"post":{"tags":["credit-memos"],"summary":"Archive multiple credit memos","description":"Archive multiple credit memos with one API request. In the response, the `archived` field for each object is set as `true`.","operationId":"bulkArchiveCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated IDs of the credit memos. Each value begin with `ccr`. Set the IDs as comma-separated values.","example":"{{credit_memo_id}}"}}],"responses":{"200":{"description":"Archive multiple credit memos response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos/bulk/restore":{"post":{"tags":["credit-memos"],"summary":"Restore multiple credit memos","description":"Restore multiple credit memos with one API request. In the response, the `archived` field for each object is set as `false`.","operationId":"bulkRestoreCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated IDs of the credit memos. Each value begin with `ccr`. Set the IDs as comma-separated values.","example":"{{credit_memo_id}}"}}],"responses":{"200":{"description":"Restore multiple credit memos response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos/{creditMemoId}":{"get":{"tags":["credit-memos"],"summary":"Get credit memo details","description":"Get details about an existing credit memo.","operationId":"getCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"creditMemoId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`.","example":"{{credit_memo_id}}"}}],"responses":{"200":{"description":"Get credit memo details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoWithUsageResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["credit-memos"],"summary":"Replace a credit memo","description":"Update the number of line items in a credit memo. You can also update other credit memo details.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a credit memo. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the credit memo.\n* When you omit an existing line item `id`, the line item is removed from the credit memo.","operationId":"replaceCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"creditMemoId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`.","example":"{{credit_memo_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceCreditMemoRequestDto"}}},"required":true},"responses":{"200":{"description":"Replace a credit memo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["credit-memos"],"summary":"Update a credit memo","description":"Update details about a credit memo line item. You can also update other credit memo line item details.\n\nYou can use the PATCH operation to modify line item details, such as `amount`, `quantity`, and `description`. The credit memo line item `id` does not change with a PATCH operation.","operationId":"updateCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"creditMemoId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`.","example":"{{credit_memo_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCreditMemoRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a credit memo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos/{creditMemoId}/archive":{"post":{"tags":["credit-memos"],"summary":"Archive a credit memo","description":"Archive an existing credit memo. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived credit memo with\n`POST /v3/credit-memos/{creditMemoId}/restore`. There is no change when you archive an archived credit memo.","operationId":"archiveCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"creditMemoId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`.","example":"{{credit_memo_id}}"}}],"responses":{"200":{"description":"Archive a credit memo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/credit-memos/{creditMemoId}/restore":{"post":{"tags":["credit-memos"],"summary":"Restore a credit memo","description":"Restore an archived credit memo. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored credit memos. There is no change when you restore a restored credit memo.","operationId":"restoreCreditMemo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"creditMemoId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`.","example":"{{credit_memo_id}}"}}],"responses":{"200":{"description":"Restore a credit memo response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers":{"get":{"tags":["customers"],"summary":"Get list of customers","description":"Get a list of customer objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listCustomers","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{customer_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of customers response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCustomerResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["customers"],"summary":"Create a customer","description":"Create a new customer.\n\nSee [Customers](https://developer.bill.com/docs/ar-customers) in the Guides section for more information, sample requests, and responses.","operationId":"createCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a customer response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}":{"get":{"tags":["customers"],"summary":"Get customer details","description":"Get details about an existing customer.","operationId":"getCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"responses":{"200":{"description":"Get customer details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["customers"],"summary":"Update a customer","description":"Update details about an existing customer.","operationId":"updateCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a customer response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}/archive":{"post":{"tags":["customers"],"summary":"Archive a customer","description":"Archive an existing customer. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived customer with `POST /v3/customers/{customerId}/restore`. There is no change when you archive an archived customer.","operationId":"archiveCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"responses":{"200":{"description":"Archive a customer response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}/bank-accounts":{"get":{"tags":["customers"],"summary":"Get list of customer bank accounts","description":"Get a list of customer bank account objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listCustomerBankAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"status:eq:VERIFIED"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of customer bank accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCustomerBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["customers"],"summary":"Create a customer bank account","description":"Create a new customer bank account. When you add customer bank account information, you can charge the customer for invoices.\n\nCreating a customer bank account follows a set of rules.\n* **Customer billing address**: The customer `billingAddress` information is required before you can create a customer bank account.\n* **Customer bank account verification**: If the customer bank account requires verification, BILL requires up to 2 business days to complete a one-time verification of the bank account.\n\n**Note**: When you add a customer bank account in the production environment, BILL validates the customer routing number before you can charge the customer. You will get an error message if the customer routing number is invalid in production.","operationId":"createCustomerBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomerBankAccountRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a customer bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}/bank-accounts/{bankAccountId}":{"get":{"tags":["customers"],"summary":"Get customer bank account details","description":"Get details about an existing customer bank account.","operationId":"getCustomerBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer bank account. The value begins with `cba`.","example":"{{customer_bank_account_id}}"}}],"responses":{"200":{"description":"Get customer bank account details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["customers"],"summary":"Update a customer bank account","description":"Update details about an existing customer bank account.\n\nYou can update only the `nickname` and `ownerType` fields for a customer bank account. If you want to update any of the other fields, create a new customer bank account with `POST /v3/customers/{customerId}/bank-accounts`.","operationId":"updateCustomerBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer bank account. The value begins with `cba`.","example":"{{customer_bank_account_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomerBankAccountRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a customer bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}/bank-accounts/{bankAccountId}/archive":{"post":{"tags":["customers"],"summary":"Archive a customer bank account","description":"Archive an existing customer bank account. In the response, the `archived` field is set as `true`. An archived customer bank account cannot be restored.","operationId":"archiveCustomerBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer bank account. The value begins with `cba`.","example":"{{customer_bank_account_id}}"}}],"responses":{"200":{"description":"Archive a customer bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}/charge-authorization":{"post":{"tags":["customers"],"summary":"Set charge customer authorization","description":"Authorize your organization to charge a customer for invoices.\n\nBy default, your organization is not authorized to charge a customer. The customer `authorizedToCharge` field must be set as `true` for you to charge the customer for invoices.","operationId":"authorizeToChargeCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChargeAuthorizationRequestDto"}}},"required":true},"responses":{"200":{"description":"Set charge customer authorization response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChargeAuthorizationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/customers/{customerId}/restore":{"post":{"tags":["customers"],"summary":"Restore an archived customer","description":"Restore an archived customer. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored customers. There is no change when you restore a restored customer.","operationId":"restoreCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`.","example":"{{customer_id}}"}}],"responses":{"200":{"description":"Restore an archived customer response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/documents/bills/{billId}":{"get":{"tags":["documents"],"summary":"Get list of documents","description":"Get a list of documents associated with a bill.\n\nFrom the response, use `downloadLink` in a GET request to download the document.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {document_name}\n```","operationId":"listDocuments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}}],"responses":{"200":{"description":"Get list of documents response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDocumentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["documents"],"summary":"Upload bill document","description":"Upload a document for an existing bill. The file size limit is 6 MB. When you upload a bill document, the uploaded document is available on the bill details page in the BILL web app.\n\nIn the response, the `name`, `createdTime`, and `downloadLink` is available when the upload is complete.\n\nWhen you upload a document, it takes a few minutes for BILL to complete the upload process.\n* **Upload in-progress**: A temporary BILL-generated ID is available for the document when the upload is in progress. The value begins with `0du`. You can get the document upload status with `GET /v3/documents/upload-status`.\n* **Upload complete**: A BILL-generated ID is available for the document when the upload is complete. The value begins with `00h`. You can get details about the uploaded document with `GET /v3/documents/bills/{billId}`.\n\nSee [Documents and attachments](https://developer.bill.com/docs/documents-attachments) in the Guides section for more information, sample requests, and responses.","operationId":"createBillDocument","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"billId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`.","example":"{{bill_id}}"}},{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string","description":"File name with extension. For example, to upload a PDF document titled `business_details`, set `name` as `business_details.pdf`.","example":"business_details.pdf"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}},"*/*":{"schema":{"type":"array","description":"Document file","items":{"type":"string","format":"byte"}}}},"required":true},"responses":{"200":{"description":"Upload bill document response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreateResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/documents/upload-status":{"get":{"tags":["documents"],"summary":"Get document upload status","description":"Get status of a document upload. Use this endpoint to identify when a document upload is complete.\n* BILL generates an `uploadId` for the document when the upload is in progress (`IN_PROGRESS`). The value begins with `0du`.\n* BILL generates a `documentId` for the document when the upload is complete (`UPLOADED`). The value begins with `00h`.","operationId":"uploadStatus","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"Document upload IDs. You can set the IDs as comma-separated values.","example":"{{document_upload_id}}"}}],"responses":{"200":{"description":"Get document upload status response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentUploadStatusResponseDto"}}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/documents/{documentId}":{"get":{"tags":["documents"],"summary":"Get document details","description":"Get details about a document associated with a bill.\n\nFrom the response, use `downloadLink` in a GET request to download the document.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {document_name}\n```","operationId":"getDocument","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"documentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the document. The value begins with `0du` or `00h`.","example":"{{document_id}}"}}],"responses":{"200":{"description":"Get document details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/exports":{"get":{"tags":["exports"],"summary":"Get list of exported BILL records","description":"Get a list of exported BILL records available for you to download.\n\nFrom the response, use `exportId` to get the download URL for an exported record file with `GET /v3/exports/{exportId}/download-link`.\n\nSee [Export BILL records](https://developer.bill.com/docs/export-bill-records) in the Guides section for more information, sample requests, and responses.","operationId":"listExports","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","nullable":true}},{"name":"filters","in":"query","schema":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AllFilterDto"}]}},{"name":"page","in":"query","schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"Get list of exported BILL records response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListExportResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/exports/{exportId}/download-link":{"get":{"tags":["exports"],"summary":"Get exported record download URL","description":"Get the download URL for an exported record file.\n\nFrom the response, use `downloadLink` in a GET request to download the file.\n\n```\ncurl '{downloadLink}' --output {file_name}\n```\nSee [Export BILL records](https://developer.bill.com/docs/export-bill-records) in the Guides section for more information, sample requests, and responses.","operationId":"getDownloadLink","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"exportId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Get exported record download URL response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDownloadLinkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/ap-cards":{"get":{"tags":["funding-accounts"],"summary":"Get list of AP Cards","description":"Get a list of AP Card objects.\n\nWith the AP Card, you can earn rewards simply by paying your bills. The AP Card is a payment method that enables you to send fast payments with no transaction fees or annual fees. You can use the AP Card with any vendor who accepts virtual card payments.\n\nSee [AP Card Frequently Asked Questions (FAQs)](https://help.bill.com/direct/s/article/000003348) in the BILL Help to learn more about AP Card.","operationId":"listPayableAPCards","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get list of AP Cards response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APCardResponseDto"}}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks":{"get":{"tags":["funding-accounts"],"summary":"Get list of bank accounts","description":"Get a list of bank account objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listBankAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"bankAccountId:eq:{{org_bank_account_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of bank accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["funding-accounts"],"summary":"Create a bank account","description":"Create a new bank account. The currently signed-in user must have the `ADMINISTRATOR` user role in the BILL organization to perform this operation. BILL sends an email notification for informing you about changes to your funding accounts.\n\nWhen you create a bank account, BILL sends a test ACH payment to confirm whether the account details are accurate.\n\nIn the response, three fields are set to their default values.\n* The bank account `status` is set as `PENDING`. You can verify the bank account with `POST /v3/funding-accounts/banks/{bankAccountId}/verify`.\n* The `payables` and `receivables` values are set as `false`. To update these values, update the bank account with `PATCH /v3/funding-accounts/banks/{bankAccountId}`.\n\n**Note**: Creating a bank account requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process.\n\nSee [Bank account setup (v3 API)](https://developer.bill.com/docs/bank-account-setup-v3-api) in the Guides section for more information, sample requests, and responses.","operationId":"createBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks/users":{"get":{"tags":["funding-accounts"],"summary":"Get list of bank account users","description":"Get a list of bank account user objects. In the response, if the bank account user `verificationStatus` is set as `NOMINATED`, user verification must be completed before the user can pay with the specified bank account.\n\nBy default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listBankAccountUsers","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"archived"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{org_bank_account_user_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}},{"name":"currentUser","in":"query","schema":{"type":"boolean","description":"Set as `true` to get results for the currently signed-in user. The default value is `false`.","nullable":true}}],"responses":{"200":{"description":"Get list of bank account users response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationBankAccountUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks/users/nominate":{"post":{"tags":["funding-accounts"],"summary":"Nominate a bank account user","description":"Nominate a bank account user.\n\nWhen you nominate a user, BILL performs a set of operations.\n* The bank account user `verificationStatus` is set as `NOMINATED`.\n* BILL sends the user an email asking them to sign in to the BILL web app and complete identity verification. See [Verify your identity](https://developer.bill.com/docs/sandbox-bank-account-setup#verify-your-identity) in the Guides section for test verification information you can enter in the sandbox environment.\n\nAfter user identity verification is successful, the bank account user `verificationStatus` is set as `VERIFIED` and the user can pay with the specified bank account.\n\n**Note**: The bank account `status` must be set as `VERIFIED` before you can nominate bank account users.\n","operationId":"nominateBankAccountUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NominateBankAccountUserRequestDto"}}},"required":true},"responses":{"200":{"description":"Nominate a bank account user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks/users/{bankAccountUserId}/archive":{"post":{"tags":["funding-accounts"],"summary":"Archive a bank account user","description":"Archive an existing bank account user. In the response, the `archived` field is set as `true` and the bank account user `verificationStatus` is set as `UNVERIFIED`.\n","operationId":"archiveBankAccountUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"bankAccountUserId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bank account user. The value begins with `bau`.","example":"{{org_bank_account_user_id}}"}}],"responses":{"200":{"description":"Archive a bank account user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks/{bankAccountId}":{"get":{"tags":["funding-accounts"],"summary":"Get bank account details","description":"Get details about an existing bank account.","operationId":"getBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`.","example":"{{org_bank_account_id}}"}}],"responses":{"200":{"description":"Get bank account details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["funding-accounts"],"summary":"Update a bank account","description":"Update details about an existing bank account.\n\nThis operation follows a set of rules.\n* **Bank account `status` requirement**: The bank account `status` must be set as `VERIFIED` before you can update any details about the bank account. You can verify the bank account with `POST /v3/funding-accounts/banks/{bankAccountId}/verify`.\n* **Update field restrictions**: You cannot update the `routingNumber`, `accountNumber`, and account `type` values for a bank account. If you want to update any of these values, create a new bank account with `POST /v3/funding-accounts/banks`.","operationId":"updateBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`.","example":"{{org_bank_account_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks/{bankAccountId}/archive":{"post":{"tags":["funding-accounts"],"summary":"Archive a bank account","description":"Archive an existing bank account. In the response, the `archived` field is set as `true`.\n\nArchiving a bank account at BILL has a set of requirements.\n* **Bank account status**: The bank account `status` must be set as `VERIFIED`. You can verify the bank account with `POST /v3/funding-accounts/banks/{bankAccountId}/verify`.\n* **Bank account user status**: The bank account user `verificationStatus` must be set as `VERIFIED`. To begin the verification process, nominate a bank account user with `POST /v3/funding-accounts/banks/users`.","operationId":"archiveBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`.","example":"{{org_bank_account_id}}"}}],"responses":{"200":{"description":"Archive a bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/banks/{bankAccountId}/verify":{"post":{"tags":["funding-accounts"],"summary":"Verify a bank account","description":"Verify an existing bank account.\n\nWhen you create a bank account, BILL sends a test ACH payment to the bank account to confirm whether the account details are accurate. Enter the test amount as the `depositAmount` value in your `POST /v3/funding-accounts/banks/{bankAccountId}/verify` request.\n\n**Note**: Bank account verification is required in the production environment before the account can be used for other BILL operations. In the sandbox environment, set `depositAmount` as `0.50` to complete bank account verification.\n\nThe bank account `status` is set as `VERIFIED` when BILL is able to verify the `depositAmount` value. BILL sends an email notification for confirming a test transaction. When BILL cannot verify the bank account after three attempts, you cannot use the bank account. At this point, use another bank account or create a bank account with `POST /v3/funding-accounts/banks`.\n\nAfter your bank account verification is complete, ensure that the current bank account user `verificationStatus` is set as `VERIFIED` before you can use the bank account. To begin the verification process, nominate a bank account user with `POST /v3/funding-accounts/banks/users/nominate`.\n\nSee [Bank account setup (v3 API)](https://developer.bill.com/docs/bank-account-setup-v3-api) in the Guides section for more information, sample requests, and responses.","operationId":"verifyBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"bankAccountId","in":"path","required":true,"schema":{"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`.","example":"{{org_bank_account_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountVerifyRequestDto"}}},"required":true},"responses":{"200":{"description":"Verify a bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountVerifyResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/cards":{"get":{"tags":["funding-accounts"],"summary":"Get list of card accounts","description":"Get a list of card account objects.","operationId":"listPayableCardAccounts","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"cardUserStatus","in":"query","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/CardUserStatus"},{"description":"Card user status"}]}}],"responses":{"200":{"description":"Get list of card accounts response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPayableCardAccountsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/cards/funding-purposes":{"get":{"tags":["funding-accounts"],"summary":"Get card funding purpose","description":"Get a list of card funding purpose values based on the vendor and card brand.\n\nWhen you create a payment (`POST /v3/payments` or `POST /v3/payments/bulk`) with a `CARD_ACCOUNT` funding account `type`, BILL requires a vendor industry value for compliance. When BILL cannot identify the vendor industry, the `cardFundingPurpose` field must be set in your payment request.\n\nUse this endpoint to get the list of card funding purpose values you can set. If you get an empty 200 response, BILL has information about the vendor industry and setting the `cardFundingPurpose` field is not required in your payment request.","operationId":"listCardFundingPurposes","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated ID of the vendor to be paid. The value begins with `009`.","example":"{{vendor_id}}"}},{"name":"brand","in":"query","required":true,"schema":{"type":"string","description":"Card brand","example":"visa"}}],"responses":{"200":{"description":"Get card funding purpose response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCardFundingPurposesResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/cards/users":{"get":{"tags":["funding-accounts"],"summary":"Get list of card account users","description":"Get a list of card account user objects. In the response, if the card account user `verificationStatus` is set as `NOMINATED`, user verification must be completed before the user can pay with the specified card account.\n\nBy default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listCardAccountUsers","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"archived"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{org_card_account_user_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}},{"name":"currentUser","in":"query","schema":{"type":"boolean","description":"Set as `true` to get results for the currently signed-in user. The default value is `false`.","nullable":true}}],"responses":{"200":{"description":"Get list of card account users response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationCardAccountUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/cards/{cardAccountId}":{"get":{"tags":["funding-accounts"],"summary":"Get card account details","description":"Get details about an existing card account.","operationId":"getCardAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"cardAccountId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the card account. The value begins with `cat`.","example":"{{org_card_account_id}}"}}],"responses":{"200":{"description":"Get card account details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/funding-accounts/permissions":{"get":{"tags":["funding-accounts"],"summary":"Get funding account permissions","description":"Get the funding account permissions available for the current organization and current organization user.","operationId":"getFundingAccountPermission","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get funding account permissions response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundingAccountPermissionResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/health":{"get":{"tags":["health"],"summary":"Check app health","description":"Returns application health status.","operationId":"getHealthCheck","responses":{"200":{"description":"getHealthCheck 200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckDto"}}}}}}},"/v3/invoices":{"get":{"tags":["invoices"],"summary":"Get list of invoices","description":"Get a list of invoice objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listInvoices","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{invoice_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of invoices response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["invoices"],"summary":"Create an invoice","description":"Create a new invoice.\n\nSee [Invoices](https://developer.bill.com/docs/ar-invoices) in the Guides section for more information, sample requests, and responses.","operationId":"createInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create an invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/invoices/record-payment":{"post":{"tags":["invoices"],"summary":"Record AR payment","description":"Record an offline AR payment received from a customer.\n\nAn offline payment is a payment that you receive outside the BILL system. BILL simply applies the recorded payment amount to one or more invoices for the customer. Any recorded unapplied amount is an overpayment and is available as a customer credit in the BILL system.\n\nSee [Recording an AR payment](https://developer.bill.com/docs/recording-an-ar-payment) in the Guides section for more information, sample requests, and responses.","operationId":"recordInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordInvoiceRequestDto"}}},"required":true},"responses":{"200":{"description":"Record AR payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/invoices/{invoiceId}":{"get":{"tags":["invoices"],"summary":"Get invoice details","description":"Get details about an existing invoice.","operationId":"getInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"responses":{"200":{"description":"Get invoice details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["invoices"],"summary":"Replace an invoice","description":"Update the number of line items in an invoice. You can also update other invoice details.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in an invoice. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the invoice.\n* When you omit an existing line item `id`, the line item is removed from the invoice.","operationId":"replaceInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceReplaceRequestDto"}}},"required":true},"responses":{"200":{"description":"Replace an invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["invoices"],"summary":"Update an invoice","description":"Update details about an invoice line item. You can also update other invoice details.\n\nYou can use the PATCH operation to modify line item details, such as `amount`, `quantity`, and `description`. The invoice line item `id` does not change with a PATCH operation.","operationId":"updateInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update an invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/invoices/{invoiceId}/archive":{"post":{"tags":["invoices"],"summary":"Archive an invoice","description":"Archive an existing invoice. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived invoice with `POST /v3/invoices/{invoiceId}/restore`. There is no change when you archive an archived invoice.","operationId":"archiveInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"responses":{"200":{"description":"Archive an invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/invoices/{invoiceId}/email":{"post":{"tags":["invoices"],"summary":"Send an invoice","description":"Send an invoice to a customer email address. You can send the invoice to multiple email addresses.\n\nSee [Invoices](https://developer.bill.com/docs/ar-invoices) in the Guides section for more information, sample requests, and responses.","operationId":"sendInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendInvoiceRequestDto"}}},"required":true},"responses":{"200":{"description":"Send an invoice response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/invoices/{invoiceId}/payment-link":{"post":{"tags":["invoices"],"summary":"Get invoice payment link","description":"Get an invoice payment link. In the response, BILL sends you a payment link based on the provided invoice and customer information.\n\nYou can send the invoice payment link to your customer for getting paid by the customer. With this link, the customer can complete the invoice payment without the need to set up a BILL account.\n\nWhen a customer payment is made with the invoice payment link, BILL sends a payment receipt to the provided email address.\n\n**Note**: You get valid invoice payment links only for customers that are NOT connected with your organization in the BILL network.\n\nSee [Invoices](https://developer.bill.com/docs/ar-invoices) in the Guides section for more information, sample requests, and responses.","operationId":"getPaymentLink","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePaymentLinkRequestDto"}}},"required":true},"responses":{"200":{"description":"Get an invoice payment link response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePaymentLinkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/invoices/{invoiceId}/restore":{"post":{"tags":["invoices"],"summary":"Restore an archived invoice","description":"Restore an archived invoice. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored invoices. There is no change when you restore a restored invoice.","operationId":"restoreInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"invoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`.","example":"{{invoice_id}}"}}],"responses":{"200":{"description":"Restore an archived invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/login":{"post":{"tags":["authentication"],"summary":"API login","description":"Sign in to your BILL developer account. In the response, your API session is created and a BILL-generated `sessionId` is available. Use the `sessionId` in all subsequent API calls to confirm that you are in a signed-in session.\n\nTo create an MFA-trusted API session, set `rememberMeId` and `device` in addition to the required fields. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process.\n\nYou can sign out with `POST /v3/logout`. If your API session is inactive for 35 minutes, the session expires and you are automatically signed out.\n\nSee [API partner login](https://developer.bill.com/reference/partnerlogin) for information about the additional permissions you get with the API partner login.\n\n**Note**: This section is about authentication for working with the BILL v3 API. See [Authentication with Spend & Expense API token](https://developer.bill.com/docs/authentication-with-api-token) for information about authentication for the Spend & Expense API endpoints.","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequestDto"}}},"required":true},"responses":{"200":{"description":"API login response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/login/organizations":{"get":{"tags":["authentication"],"summary":"Get list of login organizations","description":"Get a list of organizations you can access with your current API session. You get 100 results on one page of results.\n\nIn the response, you get a list of organizations and console organizations. When a console organization is available in the response, this indicates that the console organization is a parent of the listed organization.","operationId":"listAllOrganizations","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of login organizations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAllOrganizationsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/login/session":{"get":{"tags":["authentication"],"summary":"Get API session details","description":"Get details about your current API session. This includes information about the current organization ID, user ID, and MFA status of the organization.","operationId":"getSessionInfo","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get API session details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionInfoResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/logout":{"post":{"tags":["authentication"],"summary":"API logout","description":"Sign out of your BILL developer account. In response, the current `sessionId` expires and your API session is terminated.\n\nYou will be required to sign in again with `/v3/login` before you can make another API call.","operationId":"logout","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"API logout response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/mfa/challenge":{"post":{"tags":["mfa"],"summary":"Generate MFA challenge","description":"Generate an MFA challenge ID for creating an MFA-trusted API sign in session.\n\nIn the response, a `challengeId` is generated and a six-digit `token` is sent to the phone number that was registered with MFA setup.\n\nAfter you generate a challenge ID (with `POST /v3/mfa/challenge`), complete your MFA sign in by validating the MFA challenge (with `POST /v3/mfa/challenge/validate`). At this point, your API session is MFA trusted.\n\nThere are two stages in the BILL MFA process.\n1. **MFA setup**: Add a valid phone number for setting up MFA in the organization (with `POST /v3/mfa/setup`), and then complete the setup by validating the entered phone number (with `POST /v3/mfa/validate`). At this point, the phone number is registered for the MFA sign in operation.\n2. **MFA sign in**: Generate an MFA challenge (with `POST /v3/mfa/challenge`), and then complete MFA sign in by validating the MFA challenge (with `POST /v3/mfa/challenge/validate`). At this point, your API session is MFA trusted.\n\n**Note**: In the production environment, BILL requires an MFA-trusted API session for a set of API operations.\n* Enable vendor `autoPay`\n* Enable recurring bill `autoPayment`\n* Create a payment or bulk payment\n* Create a bank account in a BILL organization\n* Reset MFA (Complete MFA setup and MFA sign-in again)","operationId":"generateChallenge","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaChallengeRequestDto"}}},"required":true},"responses":{"200":{"description":"Generate MFA challenge response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaChallengeResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/mfa/challenge/validate":{"post":{"tags":["mfa"],"summary":"Validate MFA challenge","description":"Validate the MFA challenge for creating an MFA-trusted API sign in session. This validation requires the `challengeId` and `token` from `POST /v3/mfa/challenge`.\n\nAfter the validation is complete, your API session is MFA trusted.\n\nThere are two stages in the BILL MFA process.\n1. **MFA setup**: Add a valid phone number for setting up MFA in the organization (with `POST /v3/mfa/setup`), and then complete the setup by validating the entered phone number (with `POST /v3/mfa/validate`). At this point, the phone number is registered for the MFA sign in operation.\n2. **MFA sign in**: Generate an MFA challenge (with `POST /v3/mfa/challenge`), and then complete MFA sign in by validating the MFA challenge (with `POST /v3/mfa/challenge/validate`). At this point, your API session is MFA trusted.\n\n**Note**: In the production environment, BILL requires an MFA-trusted API session for a set of API operations.\n* Enable vendor `autoPay`\n* Enable recurring bill `autoPayment`\n* Create a payment or bulk payment\n* Create a bank account for a BILL organization\n* Reset MFA (Complete MFA setup and MFA sign-in again)","operationId":"validateChallenge","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaChallengeValidateRequestDto"}}},"required":true},"responses":{"200":{"description":"Validate MFA challenge response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaChallengeValidateResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/mfa/phones":{"get":{"tags":["mfa"],"summary":"Get list of MFA phone numbers","description":"Get a list of phone numbers that have been added for setting up MFA in the current organization.","operationId":"listMfaPhones","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get list of MFA phone numbers response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListMfaPhoneResponseDto"}}}}}}},"/v3/mfa/setup":{"post":{"tags":["mfa"],"summary":"Add phone for MFA setup","description":"Add a valid phone number for setting up MFA in the current organization.\n\nIn the response, a `setupId` is generated and a six-digit `token` is sent to the phone number. After you add a phone number (with `POST /v3/mfa/setup`), complete the MFA setup by validating the entered phone number (with `POST /v3/mfa/validate`). At this point, the phone number is registered for the MFA sign in operation.\n\nThere are two stages in the BILL MFA process.\n1. **MFA setup**: Add a valid phone number for setting up MFA in the organization (with `POST /v3/mfa/setup`), and then complete the setup by validating the entered phone number (with `POST /v3/mfa/validate`). At this point, the phone number is registered for the MFA sign in operation.\n2. **MFA sign in**: Generate an MFA challenge (with `POST /v3/mfa/challenge`), and then complete MFA sign in by validating the MFA challenge (with `POST /v3/mfa/challenge/validate`). At this point, your API session is MFA trusted.\n\n**Note**: In the production environment, BILL requires an MFA-trusted API session for a set of API operations.\n* Enable vendor `autoPay`\n* Enable recurring bill `autoPayment`\n* Create a payment or bulk payment\n* Create a bank account in a BILL organization\n* Reset MFA (Complete MFA setup and MFA sign-in again)","operationId":"setup","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaSetupRequestDto"}}},"required":true},"responses":{"200":{"description":"Add phone for MFA setup response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaSetupResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/mfa/setup/validate":{"post":{"tags":["mfa"],"summary":"Validate phone for MFA setup","description":"Validate the phone number for setting up MFA in the current organization. This validation requires the `setupId` and `token` from `POST /v3/mfa/setup`.\n\nAfter the validation is complete, the phone number is registered for the MFA sign in operation.\n\nThere are two stages in the BILL MFA process.\n1. **MFA setup**: Add a valid phone number for setting up MFA in the organization (with `POST /v3/mfa/setup`), and then complete the setup by validating the entered phone number (with `POST /v3/mfa/validate`). At this point, the phone number is registered for the MFA sign in operation.\n2. **MFA sign in**: Generate an MFA challenge (with `POST /v3/mfa/challenge`), and then complete MFA sign in by validating the MFA challenge (with `POST /v3/mfa/challenge/validate`). At this point, your API session is MFA trusted.\n\n**Note**: In the production environment, BILL requires an MFA-trusted API session for a set of API operations.\n* Enable vendor `autoPay`\n* Enable recurring bill `autoPayment`\n* Create a payment or bulk payment\n* Create a bank account in a BILL organization\n* Reset MFA (Complete MFA setup and MFA sign-in again)","operationId":"validate","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaSetupValidateRequestDto"}}},"required":true},"responses":{"200":{"description":"Validate phone for MFA setup response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/mfa/step-up":{"post":{"tags":["mfa"],"summary":"MFA step-up for API session","description":"Set your current API session as MFA trusted.\n\nIdeally, when you sign in with `POST /v3/login`, set `rememberMeId` and `device` in your request to generate an MFA-trusted API session.\n\nIn case you sign in without `rememberMeId` and `device` in your request, you can use this `POST /v3/mfa/step-up` endpoint to mark the current API session as MFA trusted.","operationId":"stepUpSession","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaStepUpRequestDto"}}},"required":true},"responses":{"200":{"description":"MFA step-up for API session response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaStepUpResponseDto"}}}}}}},"/v3/network":{"get":{"tags":["network"],"summary":"Search for an organization in the BILL Network","description":"Search for a customer, vendor, or verified national vendor organization. You can search in the BILL Network and verified national vendor (`RPPS`) network.\n\nWhen you search in the BILL Network, there are two `name` requirements for getting search results.\n* Your search term must have a minimum of three characters.\n* Your search term must be a complete word. You will not get search results when your search term is a partial word.\n\nWhen you search in the verified national vendor (`RPPS`) network, search results are based on both a complete and partial match on `name` and `zipOrPostalCode`. You can further filter your search by the billing statement `accountNumber` with the vendor. For example, your Verizon internet bill account number.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"search","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string","description":"Organization name","example":"{{network_vendor_name}}"}},{"name":"scope","in":"query","schema":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ScopeType"},{"description":"Network name. You can search in one or both networks.\n* Select `BILL` for BILL Network\n* Select `RPPS` for verified national vendor network\n* Select `ALL` for both networks","example":"BILL"}]}},{"name":"zipOrPostalCode","in":"query","schema":{"type":"string","description":"Organization zip or postal code. When you set this field, BILL searches with `zipOrPostalCode` for all organizations.","nullable":true}},{"name":"accountNumber","in":"query","schema":{"type":"string","description":"Your billing statement account number with the verified national vendor (`RPPS`) organization","nullable":true}}],"responses":{"200":{"description":"Search for an organization in the BILL Network response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkSearchResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/network/invitation/accept":{"post":{"tags":["network"],"summary":"Accept connection request","description":"Accept a connection request sent by a vendor or customer.\n\nThe organization receiving the connection request must have auto-connections disabled. If auto-connections are not disabled, BILL automatically connects the organizations in the BILL Network.\n\nWhen the invitation is accepted, BILL connects the two organizations in the BILL Network.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"acceptInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInvitationRequestDto"}}},"required":true},"responses":{"200":{"description":"Accept connection request response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/network/invitation/customer/{customerId}":{"get":{"tags":["network"],"summary":"Get customer connection request status","description":"Get the status of an existing connection request sent with `POST /v3/network/invitation/customer/{customerId}`.\n\nWhen you send a connection request to a customer organization that has auto-connections enabled, BILL automatically connects you with the organization. If the organization has auto-connections disabled, the connection request status changes when the customer accepts the request.\n\n**Note**: If the customer does not respond to the connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"getCustomerInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer record in your organization. The value begins with `0cu`.","example":"{{customer_id}}"}}],"responses":{"200":{"description":"Get customer connection request status response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetInvitationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["network"],"summary":"Send connection request to a customer","description":"Send a connection request to a customer organization in the BILL Network. BILL automatically connects the customer organization with the customer record in your BILL organization.\n\nIf the customer organization has auto-connections disabled, BILL sends an invitation email to the customer email address. When the customer accepts the invitation, BILL connects the customer organization with the customer record in your BILL organization.\n\nIf the customer does not respond, you can delete the connection request (with `DELETE /v3/network/invitation/customer/{customerId}`) before sending a new connection request.\n\n**Note**: If the customer does not respond to a connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"createCustomerInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer record in your organization. The value begins with `0cu`.","example":"{{customer_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInvitationRequestDto"}}},"required":true},"responses":{"200":{"description":"Send connection request to a customer response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["network"],"summary":"Delete customer connection","description":"Delete an existing Network connection with a customer organization. Delete customer connection follows a set of rules.\n* **No scheduled payments**: There should be no scheduled payments. All scheduled payments must be canceled before you can disconnect.\n* **No in-process payments**: There should be no in-progress payments. All in-progress payments must clear before you can disconnect.\n\nYou can use this endpoint to cancel a pending connection request sent to a customer that has auto-connections disabled. You can send a new connection request after an existing connection or connection request is canceled.\n\n**Note**: If the customer does not respond to a connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"deleteCustomerInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"customerId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer record in your organization. The value begins with `0cu`.","example":"{{customer_id}}"}}],"responses":{"200":{"description":"Delete customer connection response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/network/invitation/vendor/{vendorId}":{"get":{"tags":["network"],"summary":"Get vendor connection request status","description":"Get the status of an existing connection request sent with `POST /v3/network/invitation/vendor/{vendorId}`.\n\nWhen you send a connection request to a vendor organization that has auto-connections enabled, BILL automatically connects you with the organization. If the organization has auto-connections disabled, the connection request status changes when the vendor accepts the request.\n\n**Note**: If the vendor does not respond to the connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"getVendorInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor record in your organization. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Get vendor connection request status response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetInvitationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["network"],"summary":"Send connection request to a vendor","description":"Send a connection request to a vendor organization in the BILL Network. BILL automatically connects the vendor organization with the vendor record in your BILL organization.\n\nIf the vendor organization has auto-connections disabled, BILL sends an invitation email to the vendor email address. When the vendor accepts the invitation, BILL connects the vendor organization with the vendor record in your BILL organization.\n\nIf the vendor does not respond, you can delete the connection request (with `DELETE /v3/network/invitation/vendor/{vendorId}`) before sending a new connection request.\n\n**Note**: If the vendor does not respond to the connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"createVendorInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor record in your organization. The value begins with `009`.","example":"{{vendor_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInvitationRequestDto"}}},"required":true},"responses":{"200":{"description":"Send connection request to a vendor response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["network"],"summary":"Delete vendor connection","description":"Delete an existing Network connection with a vendor organization. Delete vendor connection follows a set of rules.\n* **No scheduled payments**: There should be no scheduled payments. All scheduled payments must be canceled before you can disconnect.\n* **No in-process payments**: There should be no in-progress payments. All in-progress payments must clear before you can disconnect.\n\nYou can use this endpoint to cancel a pending connection request sent to a vendor that has auto-connections disabled. You can send a new connection request after an existing connection or connection request is canceled.\n\n**Note**: If the vendor does not respond to a connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"deleteVendorInvitation","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor record in your organization. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Delete vendor connection response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/network/invitation/vendor/{vendorId}/email":{"post":{"tags":["network"],"summary":"Send connection request to a vendor not in the BILL Network","description":"Send a connection request to a vendor not in the BILL Network.\n\nBILL sends an invitation email to the provided vendor email address. When the vendor accepts the invitation and sets up a BILL account, BILL connects the vendor organization with the vendor record in your BILL organization.\n\n**Note**:\n* The vendor organization must exist before BILL can send an invitation email.\n* If the vendor does not respond to a connection request for 60 days, the request expires.\n\nSee [BILL Network](https://developer.bill.com/docs/bill-network) in the Guides section for more information, sample requests, and responses.","operationId":"inviteVendorNotInBillNetwork","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor record in your organization. The value begins with `009`.","example":"{{vendor_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteVendorNotInBillNetworkRequestDto"}}},"required":true},"responses":{"200":{"description":"Send connection request to a vendor not in the BILL Network response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/organizations/industries":{"get":{"tags":["organizations"],"summary":"Get list of organization industries","description":"Get a list of available values for the `industry` field for an organization. Use this information to set the `industry` field in your `POST /v3/partner/organizations` or `PATCH /v3/organizations/{organizationId}` request.","operationId":"listIndustries","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get list of organization industries response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIndustriesResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/organizations/{organizationId}":{"get":{"tags":["organizations"],"summary":"Get organization details","description":"Get details about an existing organization. The currently signed-in user must have the `ADMINISTRATOR` user role in the BILL organization to perform this operation.\n\nSee [Organizations and Users](https://developer.bill.com/docs/organizations-users) in the Guides section for more information, sample requests, and responses.","operationId":"getOrganization","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"organizationId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`.","example":"{{organization_id}}"}}],"responses":{"200":{"description":"Get organization details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["organizations"],"summary":"Update an organization","description":"Update details about an existing organization. The currently signed-in user must have the `ADMINISTRATOR` user role in the BILL organization to perform this operation.\n\nSee [Organizations and Users](https://developer.bill.com/docs/organizations-users) in the Guides section for more information, sample requests, and responses.","operationId":"updateOrganization","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"organizationId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`.","example":"{{organization_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update an organization response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/organizations/{organizationId}/billing-statements":{"get":{"tags":["organizations"],"summary":"Get list of billing statements","description":"Get a list of billing statements for the organization. BILL generates a monthly billing invoice statement for all the billing activities in the organization.\n\nIn the request, set `invoiceDateFrom` and `invoiceDateTo` to get the billing invoice statements for the specified date range. BILL takes up to one business day for completing the billing process for a month. For example, if your organization billing begins on the 5th of a month, BILL completes the billing process by the 6th of each following month.\n\nYou can set `max` and `page` in the request only when both `invoiceDateFrom` and `invoiceDateTo` are not set. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listBillingStatements","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`.","example":"{{organization_id}}"}},{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results. You can set `max` only when both `invoiceDateFrom` and `invoiceDateTo` are not set.","format":"int32","nullable":true}},{"name":"invoiceDateFrom","in":"query","schema":{"type":"string","description":"Billing invoice start date. The value is in the `yyyy-MM-dd` format. This field is required if `invoiceDateTo` is set.","nullable":true}},{"name":"invoiceDateTo","in":"query","schema":{"type":"string","description":"Billing invoice end date. The value is in the `yyyy-MM-dd` format. This field is required if `invoiceDateFrom` is set.","nullable":true}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results. You can set `page` only when both `invoiceDateFrom` and `invoiceDateTo` are not set.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of billing statements response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBillingStatementResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/organizations/{organizationId}/billing-statements/{billingStatementId}":{"get":{"tags":["organizations"],"summary":"Get billing statement details","description":"Get details about a billing statement for the organization. BILL generates a monthly billing invoice statement for all the billing activities in the organization.\n\nFrom the response, use `downloadLink` in a GET request to download a billing statement.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {statement_name}\n```","operationId":"getBillingStatementDetail","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`.","example":"{{organization_id}}"}},{"name":"billingStatementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the billing statement. The value begins with `0S0`.","example":"{{billing_statement_id}}"}},{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get billing statement details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingStatementDetailResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/organizations/{organizationId}/price-plan":{"get":{"tags":["organizations"],"summary":"Get organization price plan details","description":"Get the BILL price plan details for an existing organization. The currently signed-in user must have the `ADMINISTRATOR` user role in the BILL organization to perform this operation.\n\nA BILL price plan for an organization provides a range of information, including monthly subscription fees and the terms and conditions for additional charges in the price plan.\n\nIn the response, the `planTerms` object includes information about charges for price plan features based on a combination of charge `tier`, `quantity`, and `price`. We explain plan terms with an example.\n* If `\"tier\": 1`, `\"quantity\": 5`, and `\"price\": 10`, the first 5 users will be charged $10 each.\n* If `\"tier\": 2`, `\"quantity\": 10`, and `\"price\": 8`, the next 10 users will be charged $8 each. At this level, if there is no `tier` information, all users after tier 1 will be charged $8 each.","operationId":"getPricePlan","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"organizationId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`.","example":"{{organization_id}}"}}],"responses":{"200":{"description":"Get organization price plan details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricePlanResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/login":{"post":{"tags":["partner"],"summary":"API partner login","description":"Sign in to your BILL partner account. In the response, your partner API session is created and a BILL-generated `sessionId` is available. Use the `sessionId` in all subsequent API calls to confirm that you are in a signed-in session.\n\nYou get additional permissions with a partner account `sessionId`.\n* Create a child BILL organization with `POST /v3/partner/organizations`.\n* Create a user for the child BILL organization with `POST /v3/partner/users`.\n* Sign in to the created organization as the created user of that organization with `/v3/partner/login-as-user`. After signing in, you can perform organization-level BILL API operations, such as creating a bill or paying a vendor. All organization-level BILL API operations require a `devKey` and `sessionId`.\n\n**Note**: When you create an organization and then create a user for that organization, it is important that you initiate risk verification with `POST /v3/risk-verifications`. See [Initiate risk verification for an organization](https://developer.bill.com/reference/initiateriskverifications) for more information.\n\nYou can sign out with `POST /v3/logout`. If your API session is inactive for 35 minutes, the session expires and you are automatically signed out.","operationId":"partnerLogin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerLoginRequestDto"}}},"required":true},"responses":{"200":{"description":"API partner login response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerLoginResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/login-as-user":{"post":{"tags":["partner"],"summary":"API login as user","description":"Sign in to a created organization as a created user of that organization. In the response, your API session is created and a generated `sessionId` is available for organization-level BILL API operations.\n\nThis endpoint is required for a specific BILL partner-level workflow.\n1. Sign in to your partner account with [API partner login](https://developer.bill.com/reference/partnerlogin).\n2. Create a child BILL organization with `POST /v3/partner/organizations`. In the response, a BILL-generated organization `id`  is available.\n3. Create a user for the child BILL organization with `POST /v3/partner/users`. In the response, a BILL-generated user `id` is available.\n4. Sign in to the created organization as the created user of that organization with `POST /v3/partner/login-as-user`. After signing in, you can perform organization-level BILL API operations, such as creating a bill or paying a vendor. All organization-level BILL API operations require a `devKey` and `sessionId`.\n\n**Note**: When you create an organization and then create a user for that organization, it is important that you initiate risk verification with `POST /v3/risk-verifications`. See [Initiate risk verification for an organization](https://developer.bill.com/reference/initiateriskverifications) for more information.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n\nYou can sign out with `POST /v3/logout`. If your API session is inactive for 35 minutes, the session expires and you are automatically signed out.\n\n### MFA-trusted API session\nSet both `rememberMeId` and `device` as additional fields in your `POST /v3/partner/login-as-user` request to create an MFA-trusted API session.\n","operationId":"loginAsUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginAsUserRequestDto"}}},"required":true},"responses":{"200":{"description":"API login as user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginAsUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/organizations":{"get":{"tags":["partner"],"summary":"Get list of organizations","description":"Get a list of organization objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value","operationId":"listPartnerOrganizations","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{partner_organization_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of organizations response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListOrganizationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["partner"],"summary":"Create an organization","description":"Create a new organization.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n\nSee [Organizations for BILL partners](https://developer.bill.com/docs/partner-organizations) in the Guides section for more information, sample requests, and responses.","operationId":"createOrganization","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create an organization response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/organizations/{organizationId}/price-plan":{"patch":{"tags":["partner"],"summary":"Update an organization price plan","description":"Update the price plan for an existing organization.\n\nWhen you onboard as a BILL partner, BILL works with you to set up price plans for the organizations you create. Your organizations can have up to 5 price plans. Each price plan is named in the `PricePlanN` format (`PricePlan1` up to `PricePlan5`).\n","operationId":"updateOrgPartnerPricePlan","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`.","example":"{{partner_organization_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrgPricePlanRequest"}}},"required":true},"responses":{"200":{"description":"Update an organization price plan response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/risk-verifications/{userId}/phone":{"post":{"tags":["partner"],"summary":"Add phone for risk verification","description":"Add a phone number for a created user. BILL requires organization users to have a linked phone number for initiating risk verification for the organization.\n\nYou can check whether a phone number has been added for the user with `GET /v3/risk-verifications/phone`.\n\nAfter you add a phone number with this endpoint, you can initiate risk verification for the organization with `POST /v3/risk-verifications`.","operationId":"createPhone","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"userId","in":"path","required":true,"schema":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{partner_user_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneVerificationRequestDto"}}},"required":true},"responses":{"200":{"description":"Add phone for risk verification response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/roles":{"get":{"tags":["partner"],"summary":"Get list of user roles","description":"Get a list of user role objects available in a BILL organization. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"listPartnerUserRoles","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{partner_user_role_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of user roles response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRoleResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/roles/{roleId}":{"get":{"tags":["partner"],"summary":"Get user role details","description":"Get details about an existing user role in a BILL organization.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"getPartnerUserRole","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"roleId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`.","example":"{{partner_user_role_id}}"}}],"responses":{"200":{"description":"Get user role details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/users":{"get":{"tags":["partner"],"summary":"Get list of users","description":"Get a list of user objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"listPartnerUsers","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{partner_user_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of users response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["partner"],"summary":"Create a user","description":"Create a new user. The new user is created for the organization (`organizationId`) in the request header.\n\nIn the request, set `username` as a unique alphanumeric value. The value must be 40 characters or fewer. This field is not case-sensitive. Do not set the value as an email address or any PII value. BILL uses this value to uniquely identify each user.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization\n\nSee [Users for BILL partners](https://developer.bill.com/docs/partner-users) in the Guides section for more information, sample requests, and responses.","operationId":"createPartnerUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/users/{userId}":{"get":{"tags":["partner"],"summary":"Get user details","description":"Get details about an existing user.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"getPartnerUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{partner_user_id}}"}}],"responses":{"200":{"description":"Get user details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["partner"],"summary":"Update a user","description":"Update details about an existing user.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"updatePartnerUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{partner_user_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerUserUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/users/{userId}/archive":{"post":{"tags":["partner"],"summary":"Archive a user","description":"Archive an existing user. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived user with `POST /v3/users/{userId}/restore`. There is no change when you archive an archived user.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"archivePartnerUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{partner_user_id}}"}}],"responses":{"200":{"description":"Archive a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/partner/users/{userId}/restore":{"post":{"tags":["partner"],"summary":"Restore an archived user","description":"Restore an archived user. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored users. There is no change when you restore a restored user.\n\nThis operation requires partner-level permissions.\n* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)\n* An `appKey` header value\n* The `organizationId` of the organization","operationId":"restorePartnerUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/partner/login`","nullable":true,"example":"{{partner_session_id}}"}},{"name":"appKey","in":"header","schema":{"type":"string","description":"Application key sent to you by BILL when you create a partner account","nullable":true,"example":"{{app_key}}"}},{"name":"organizationId","in":"header","schema":{"type":"string","description":"BILL-generated ID of the organization","nullable":true,"example":"{{partner_organization_id}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{partner_user_id}}"}}],"responses":{"200":{"description":"Restore an archived user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments":{"get":{"tags":["payments"],"summary":"Get list of payments","description":"Get a list of payment objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listPayments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{payment_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of payments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["payments"],"summary":"Create a payment","description":"Create a payment.\n\nSee [Get list of vendor payment options](https://developer.bill.com/reference/listpaymentoptions) to get details about vendor payment options and payment process dates.\n\n**Note**: Creating a payment requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process.\n\nSee [Payments](https://developer.bill.com/docs/ap-payments) in the Guides section for more information, sample requests, and responses.","operationId":"createPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/bulk":{"post":{"tags":["payments"],"summary":"Create a bulk payment","description":"Create a request for paying multiple bills. You can pay up to 50 bills with one `POST /v3/payments/bulk` request.\n\nBulk payments at BILL follow a set of rules.\n* **Successful response**: In your bulk payment request, all your bill payments must be successful for a successful response. If any bill payment is not successful, the entire request fails and none of the bills in the request are paid.\n* **You can pay multiple vendors**: You can pay multiple vendors with one `POST /v3/payments/bulk` request. In this case, make sure that you do not set `vendorId` in your request.\n* **You can only pay existing bills**: When you create a single payment with `POST /v3/payments`, you can set `createBill` as `true` in your request for creating a new bill for a vendor payment. In your bulk payment request, an existing `billId` is required for each bill to be paid.\n* **Vendors with `\"combinePayments\": true`**: When you create a bulk payment for a vendor that has `\"combinePayments\": true`, BILL combines payments for up to 35 bills in one `payments` response object, and then combines payments for the remaining bills in a second `payments` response object.\n\nSee [Get list of vendor payment options](https://developer.bill.com/reference/listpaymentoptions) to get details about vendor payment options and payment process dates.\n\n**Note**: Creating a bulk payment requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process.\n\nSee [Payments](https://developer.bill.com/docs/ap-payments) in the Guides section for more information, sample requests, and responses.","operationId":"createBulkPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPaymentRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a bulk payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/exchange-rate":{"get":{"tags":["payments"],"summary":"Get BILL exchange rate","description":"Get the current BILL exchange rate and exchange rate batch ID for paying an international vendor. When the vendor bill currency is not `USD`, the exchange rate batch ID is required for creating a payment with `POST /v3/payments` or `POST /v3/payments/bulk`.\n\nBILL maintains all `exchangeRate` values in a batch. When a batch expires, a new batch ID is generated and all `exchangeRate` values are updated in the new batch. Use this endpoint to get the current exchange rate and batch ID based on the payment amount and vendor bill currency.\n\nIn production, the batch expiration time is 20 minutes. The `expirationTime` in the response tells us when the current batch will expire. When the batch expires, you need a new batch ID for your payments API operations. The batch expiration date is tied to the `processDate` you can set in your international payments API request (with `POST /v3/payments` or `POST /v3/payments/bulk`).\n\n**Note**:\n* International vendor payment information is required for you to get the BILL exchange rate with this endpoint.\n* When the vendor bill currency is not `USD`, the payment `processDate` **must be** the next US business day.","operationId":"getExchangeRate","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated ID of the international vendor to be paid. The value begins with `009`.","example":"{{vendor_id}}"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","description":"Payment amount. The amount is in the vendor bill currency.","example":1000}}],"responses":{"200":{"description":"Get BILL exchange rate response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRateResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["payments"],"summary":"Get BILL exchange rates for multiple vendors","description":"Get the current BILL exchange rate and exchange rate batch ID for multiple international vendors with one API request. When the vendor bill currency is not `USD`, the exchange rate batch ID is required for creating a payment with `POST /v3/payments` or `POST /v3/payments/bulk`.\n\nBILL maintains all `exchangeRate` values in a batch. When a batch expires, a new batch ID is generated and all `exchangeRate` values are updated in the new batch. Use this endpoint to get the current exchange rate and batch ID based on the payment amount and vendor bill currency.\n\nIn production, the batch expiration time is 20 minutes. The `expirationTime` in the response tells us when the current batch will expire. When the batch expires, you need a new batch ID for your payments API operations. The batch expiration date is tied to the `processDate` you can set in your international payments API request (with `POST /v3/payments` or `POST /v3/payments/bulk`).\n\n**Note**:\n* International vendor payment information is required for you to get BILL exchange rates with this endpoint.\n* When the vendor bill currency is not `USD`, the payment `processDate` **must be** the next US business day.","operationId":"getExchangeRates","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/ExchangeRateRequestDto"}}}},"required":true},"responses":{"200":{"description":"Get BILL exchange rates for multiple vendors response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRatesResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/mass":{"post":{"tags":["payments"],"summary":"Create a mass payment","description":"Create a mass payment request for up to 2000 bills. BILL processes each payment in the mass payment request asynchronously.\n\nIn the response, a BILL-generated payment batch ID is available. You can track the current status of each payment in a mass payment batch with `GET /v3/payments/mass/{paymentBatchId}`.\n\n**Note**: Creating a mass payment requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process.","operationId":"createMassPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MassPaymentRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a mass payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MassPaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/mass/{paymentBatchId}":{"get":{"tags":["payments"],"summary":"Get mass payment status","description":"Get details about an existing mass payment batch.\n\nIn the response, you get the status of each payment in the mass payment batch. Each payment is either `scheduled`, `completed`, or `failed`. In addition, you get the `count` for the total number of payments in the mass payments batch.\n\n**Note**: From the list of `completed` payments in the response, BILL begins processing payments based on the payment `processDate`.","operationId":"getMassPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"paymentBatchId","in":"path","required":true,"schema":{"type":"string","description":"BILL-generated ID of the mass payment batch. The value begins with `bbq`.","example":"{{mass_payment_batch_id}}"}}],"responses":{"200":{"description":"Get mass payment status response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MassPaymentDetailsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/options":{"get":{"tags":["payments"],"summary":"Get list of vendor payment options","description":"Get a list of vendor payment options available based on the funding account options available in the signed-in user's BILL organization and on the payment methods accepted by a vendor.\n\nSee [Vendor payment options](https://developer.bill.com/docs/vendor-payment-options) in the Guides section for more information, sample requests, and responses.","operationId":"listPaymentOptions","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated ID of the vendor to be paid. The value begins with `009`.","example":"{{vendor_id}}"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","description":"Vendor payment amount","example":100}}],"responses":{"200":{"description":"Get list of vendor payment options response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentOptionsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/{paymentId}":{"get":{"tags":["payments"],"summary":"Get payment details","description":"Get details about an existing payment.","operationId":"getPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"paymentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`.","example":"{{payment_id}}"}}],"responses":{"200":{"description":"Get payment details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/{paymentId}/cancel":{"post":{"tags":["payments"],"summary":"Cancel a payment","description":"Cancel an existing payment.\n\nYou can cancel a payment only when the payment `singleStatus` is `SCHEDULED`. When BILL starts processing the payment, the payment `singleStatus` changes. At that point, you cannot cancel the payment. You can attempt to void the payment with `POST /v3/payments/{paymentId}/void`.","operationId":"cancelPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"paymentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`.","example":"{{payment_id}}"}}],"responses":{"200":{"description":"Cancel a payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/{paymentId}/check-image":{"get":{"tags":["payments"],"summary":"Get check image data","description":"Get an image of an existing check sent to a vendor.\n\nThe check image is available when the vendor bank processes the check payment. BILL checks in with the bank every 30 minutes to get the check image. The image file format is determined by the vendor bank.\n\nFrom the response, use `downloadLink` in a GET request to download the front and back images of the check.\n\n```\ncurl '{downloadLink}' --header 'sessionId: {session_id}' --output {check_name}\n```","operationId":"getCheckImageData","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"paymentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`.","example":"{{payment_id}}"}}],"responses":{"200":{"description":"Get check image data response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckImageDataResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/payments/{paymentId}/void":{"post":{"tags":["payments"],"summary":"Void a payment","description":"Void an existing payment.\n\nVoid a bill payment that has started processing and cannot be canceled (with `POST /v3/payments/{paymentId}/cancel`). You can attempt to void payments made both with BILL (online) and outside BILL (offline).\n\n### Void a payment made with BILL (online)\n\nIn your /`POST /v3/payments/{paymentId}/void` request:\n* Set `paymentId` as the BILL-generated ID of the payment. The value begins with `stp`.\n* Set `type` as the void payment request type\n* Set `reason` as the reason for voiding the payment\n\nSee [Can I cancel or void a Payables payment?](https://help.bill.com/direct/s/article/115005898063) in the BILL Help Center to learn about the BILL void payment process and timing in the production environment.","operationId":"voidPayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"paymentId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`.","example":"{{payment_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidRequestDto"}}},"required":true},"responses":{"200":{"description":"Void a payment response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/receivable-payments":{"get":{"tags":["receivable-payments"],"summary":"Get list of received payments","description":"Get a list of received payment objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listReceivablePayments","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{received_payment_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of received payments response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListReceivablePaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["receivable-payments"],"summary":"Charge a customer","description":"Charge a customer for one or more invoices.\n\nCharging a customer follows a set of rules.\n* **Customer authorization**: The customer `authorizedToCharge` field must be set as `true` for you to charge the customer for invoices. Set charge customer authorization with `POST /v3/customers/{customerId}/charge-authorization`.\n* **Customer bank account**: A customer bank account is required for you to charge a customer. Create a customer bank account with `POST /v3/customers/{customerId}/bank-accounts`.\n","operationId":"chargeCustomer","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChargeCustomerRequestDto"}}},"required":true},"responses":{"201":{"description":"Charge a customer response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceivablePaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/receivable-payments/{receivedPaymentId}":{"get":{"tags":["receivable-payments"],"summary":"Get received payment details","description":"Get details about an existing received payment.","operationId":"getReceivablePayment","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"receivedPaymentId","in":"path","required":true,"schema":{"type":"string","description":"BILL-generated ID of the received payment. The value begins with `0rp`.","example":"{{received_payment_id}}"}}],"responses":{"200":{"description":"Get received payment details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceivablePaymentResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurring-invoices":{"get":{"tags":["recurring-invoices"],"summary":"Get list of recurring invoices","description":"Get a list of recurring invoice objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listRecurringInvoices","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"archived"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{recurring_invoice_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of recurring invoices response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["recurring-invoices"],"summary":"Create a recurring invoice","description":"Create a recurring invoice.\n\nSee [Recurring invoices](https://developer.bill.com/docs/ar-recurring-invoices) in the Guides section for more information, sample requests, and responses.","operationId":"createRecurringInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRecurringInvoiceRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a recurring invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurring-invoices/{recurringInvoiceId}":{"get":{"tags":["recurring-invoices"],"summary":"Get recurring invoice details","description":"Get details about an existing recurring invoice.","operationId":"getRecurringInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringInvoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring invoice. The value begins with `rit`.","example":"{{recurring_invoice_id}}"}}],"responses":{"200":{"description":"Get recurring invoice details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["recurring-invoices"],"summary":"Replace a recurring invoice","description":"Update the number of line items in a recurring invoice. You can also update other recurring invoice details.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a recurring invoice. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the invoice.\n* When you omit an existing line item `id`, the line item is removed from the invoice.\n\nWhen a recurring invoice is modified, all future invoices are automatically changed.","operationId":"replaceRecurringInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringInvoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring invoice. The value begins with `rit`.","example":"{{recurring_invoice_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceReplaceRequestDto"}}},"required":true},"responses":{"200":{"description":"Replace a recurring invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["recurring-invoices"],"summary":"Update a recurring invoice","description":"Update details about a recurring invoice line item. You can also update other recurring invoice details.\n\nYou can use the PATCH operation to modify line item details, such as amount and description. The recurring invoice line item `id` does not change with a PATCH operation.\n\nWhen a recurring invoice is modified, all future invoices are automatically changed.","operationId":"updateRecurringInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringInvoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring invoice. The value begins with `rit`.","example":"{{recurring_invoice_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRecurringInvoiceRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a recurring invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurring-invoices/{recurringInvoiceId}/archive":{"post":{"tags":["recurring-invoices"],"summary":"Archive a recurring invoice","description":"Archive a recurring invoice. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived recurring invoice with `POST /v3/recurring-invoices/{recurringinvoiceId}/restore`. There is no change when you archive an archived recurring invoice.\n\nWhen a recurring invoice is modified, all future invoices are automatically changed.","operationId":"archiveRecurringInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringInvoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring invoice. The value begins with `rit`.","example":"{{recurring_invoice_id}}"}}],"responses":{"200":{"description":"Archive a recurring invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurring-invoices/{recurringInvoiceId}/restore":{"post":{"tags":["recurring-invoices"],"summary":"Restore a recurring invoice","description":"Restore an archived recurring invoice. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored recurring invoices. There is no change when you restore a restored recurring invoice.\n\nWhen a recurring invoice is modified, all future invoices are automatically changed.","operationId":"restoreRecurringInvoice","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringInvoiceId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring invoice. The value begins with `rit`.","example":"{{recurring_invoice_id}}"}}],"responses":{"200":{"description":"Restore a recurring invoice response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurringbills":{"get":{"tags":["recurringbills"],"summary":"Get list of recurring bills","description":"Get a list of recurring bill objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listRecurringBills","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"archived"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{recurring_bill_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of recurring bills response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["recurringbills"],"summary":"Create a recurring bill","description":"Create a recurring bill.\n\nSee [Recurring bills](https://developer.bill.com/docs/ap-recurring-bills) in the Guides section for more information, sample requests, and responses.","operationId":"createRecurringBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a recurring bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurringbills/{recurringBillId}":{"get":{"tags":["recurringbills"],"summary":"Get recurring bill details","description":"Get details about an existing recurring bill.","operationId":"getRecurringBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringBillId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring bill. The value begins with `btp`.","example":"{{recurring_bill_id}}"}}],"responses":{"200":{"description":"Get recurring bill details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["recurringbills"],"summary":"Replace a recurring bill","description":"Update the number of line items in a recurring bill. You can also update other recurring bill details.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a recurring bill. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the bill.\n* When you omit an existing line item `id`, the line item is removed from the bill.\n\nWhen a recurring bill is modified, all future bills are automatically changed.","operationId":"replaceRecurringBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringBillId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring bill. The value begins with `btp`.","example":"{{recurring_bill_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillReplaceRequestDto"}}},"required":true},"responses":{"200":{"description":"Replace a recurring bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["recurringbills"],"summary":"Update a recurring bill","description":"Update details about a recurring bill line item. You can also update other recurring bill details.\n\nYou can use the PATCH operation to modify line item details, such as amount and description. The recurring bill line item `id` does not change with a PATCH operation.\n\nWhen a recurring bill is modified, all future bills are automatically changed.","operationId":"updateRecurringBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringBillId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring bill. The value begins with `btp`.","example":"{{recurring_bill_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a recurring bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurringbills/{recurringBillId}/archive":{"post":{"tags":["recurringbills"],"summary":"Archive a recurring bill","description":"Archive a recurring bill. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived recurring bill with `POST /v3/recurringbills/{recurringbillId}/restore`. There is no change when you archive an archived recurring bill.\n\nWhen a recurring bill is modified, all future bills are automatically changed.","operationId":"archiveRecurringBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringBillId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring bill. The value begins with `btp`.","example":"{{recurring_bill_id}}"}}],"responses":{"200":{"description":"Archive a recurring bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/recurringbills/{recurringBillId}/restore":{"post":{"tags":["recurringbills"],"summary":"Restore an archived recurring bill","description":"Restore an archived recurring bill. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored recurring bills. There is no change when you restore a restored recurring bill.\n\nWhen a recurring bill is modified, all future bills are automatically changed.","operationId":"restoreRecurringBill","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"recurringBillId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring bill. The value begins with `btp`.","example":"{{recurring_bill_id}}"}}],"responses":{"200":{"description":"Restore an archived recurring bill response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/reports/audit-trail/vendor/{vendorId}":{"get":{"tags":["reports"],"summary":"Get audit trail details for a vendor","description":"Get audit trail details about changes made to a vendor object. The audit trail lists records for each create and edit operation.\n\nSee [Get audit trail details](https://developer.bill.com/docs/getting-audit-trail-details) in the Guides section for more information, sample requests, and responses.","operationId":"getVendorAuditTrail","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}},{"name":"includeArchived","in":"query","schema":{"type":"boolean","description":"Set as `true` to include all archived audit trail records in the response","nullable":true}},{"name":"start","in":"query","schema":{"type":"integer","description":"Index of the first result","format":"int32","nullable":true}},{"name":"max","in":"query","schema":{"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}}],"responses":{"200":{"description":"Get audit trail details response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditTrailEntry"}}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/risk-verifications":{"get":{"tags":["risk-verifications"],"summary":"Get risk verification details","description":"Get risk verification details for an existing organization.","operationId":"getRiskVerifications","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get risk verification details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["risk-verifications"],"summary":"Initiate risk verification for an organization","description":"Initiate risk verification for an organization. The currently signed-in user must have the `ADMINISTRATOR` user role in the BILL organization to perform this operation.\n\n**Note**: You must add a phone number for the signed-in user (with `POST /v3/risk-verifications/phone`) before you can initiate risk verification. BILL partners must add a phone number for a created user with `POST /v3/partner/risk-verifications/{userId}/phone`.\n\nAs a BILL partner, when you create an organization and then create a user for that organization, it is important that you initiate risk verification with `POST /v3/risk-verifications`.\n\nBILL performs a KYC/KYB (Know You Customer/Know Your Business) check based on the provided organization information. BILL sends an email notification for risk verification. When the check is complete, BILL approves the organization for BILL AP and AR operations.","operationId":"initiateRiskVerifications","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Initiate risk verification for an organization response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/risk-verifications/phone":{"get":{"tags":["risk-verifications"],"summary":"Get phone status for risk verification","description":"Check whether a phone number has been added for the currently signed-in user. BILL requires the signed-in user to have a linked phone number for initiating risk verification for the organization.\n\nIn the response, if `hasPhone` is `false`, you can add a phone number for the user with `POST /v3/risk-verifications/phone`.\n\nAfter you add a phone number, you can initiate risk verification for the organization with `POST /v3/risk-verifications`.","operationId":"getRiskVerificationPhone","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"responses":{"200":{"description":"Get phone status for risk verification response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPhoneStatusResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["risk-verifications"],"summary":"Add phone for risk verification","description":"Add a phone number for the currently signed-in user. BILL requires the signed-in user to have a linked phone number for initiating risk verification for the organization.\n\nYou can check whether a phone number has been added for the user with `GET /v3/risk-verifications/phone`.\n\nAfter you add a phone number with this endpoint, you can initiate risk verification for the organization with `POST /v3/risk-verifications`.","operationId":"createRiskVerificationPhone","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneVerificationRequestDto"}}},"required":true},"responses":{"200":{"description":"Add phone for risk verification response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/roles":{"get":{"tags":["roles"],"summary":"Get list of user roles","description":"Get a list of user role objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listOrganizationUserRoles","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{org_user_role_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of user roles response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRoleResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/roles/{roleId}":{"get":{"tags":["roles"],"summary":"Get user role details","description":"Get details about an existing user role.","operationId":"getOrganizationUserRole","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"roleId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`.","example":"{{org_user_role_id}}"}}],"responses":{"200":{"description":"Get user role details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/budgets":{"get":{"tags":["budgets"],"summary":"Get list of budgets","description":"Get a list of budget objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listBudgets","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n- `name`\n- `assigned`\n- `limit`\n- `spent`","nullable":true,"example":"spent:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=isBudgetGroup:eq:false,budgetIds:in:\"abc,def\"`\n\nThe filterable fields are:\n- `isBudgetGroup` - `true` or `false`. Operators: `eq`.\n- `budgetIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n- `parentBudgetId` - String ID or UUID. Operators: `eq`.\n- `name` - String. Operators: `eq`, `sw`.\n- `retired` - `true` or `false`. Operators: `eq`.","nullable":true,"example":"budgetIds:eq:{{se_budget_uuid}}"}}],"responses":{"200":{"description":"Get list of budgets response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedBudgetsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["budgets"],"summary":"Create a budget","description":"Create a new budget for a company.\n\nSee [Budgets and Users](https://developer.bill.com/docs/budgets-and-users) in the Guides section for more information, sample requests, and responses.","operationId":"createBudget","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetCreateDto"}}},"required":true},"responses":{"200":{"description":"Create a budget response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/budgets/{budgetId}":{"get":{"tags":["budgets"],"summary":"Get budget details","description":"Get details about an existing budget.","operationId":"getBudget","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}}],"responses":{"200":{"description":"Get budget details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["budgets"],"summary":"Delete a budget","description":"Delete an existing budget. A deleted budget cannot be restored. The deleted budget is not available in the list of budgets.\n\n**Note**:\n* While you cannot restore a deleted budget with the API, you can unretire budgets in the BILL web app and mobile app. An unretired budget is active and is available for use.\n* A one-time budget can be unretired at any time. A `recurringInterval` budget can be unretired within one interval. For example, if a `MONTHLY` budget is retired in January, you can unretire it in February. You cannot unretire this budget in March or any later month.","operationId":"deleteBudget","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}}],"responses":{"200":{"description":"Delete a budget response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["budgets"],"summary":"Update a budget","description":"Update details about an existing budget.","operationId":"updateBudget","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetUpdateDto"}}},"required":true},"responses":{"200":{"description":"Update a budget response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/budgets/{budgetId}/members":{"get":{"tags":["budgets"],"summary":"Get list of budget members","description":"Get a list of user members assigned to an existing budget. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listBudgetMembers","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n- `name`\n- `spent`","nullable":true,"example":"spent:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=retired:eq:true`\n\nThe filterable fields are:\n- `retired` - `true` or `false`. Operators: `eq`.","nullable":true,"example":"retired:eq:false"}}],"responses":{"200":{"description":"Get list of budget members response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedBudgetMemberResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/budgets/{budgetId}/members/bulk":{"put":{"tags":["budgets"],"summary":"Update multiple budget members","description":"Update details about multiple user members assigned to an existing budget.","operationId":"upsertBulkBudgetUsers","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetMemberBulkUpsertRequestDto"}}},"required":true},"responses":{"200":{"description":"Update multiple budget members response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendStatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/budgets/{budgetId}/members/{userId}":{"get":{"tags":["budgets"],"summary":"Get budget member details","description":"Get details about a user member assigned to an existing budget.","operationId":"getBudgetMember","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the user","example":"{{se_user_uuid}}"}}],"responses":{"200":{"description":"Get budget member details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetMemberResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["budgets"],"summary":"Add or update a budget member","description":"Add a new user member to an existing budget. You can also update details about an existing user member assigned to the budget.","operationId":"upsertBudgetMember","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the user","example":"{{se_user_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetMemberUpsertRequestDto"}}},"required":true},"responses":{"200":{"description":"Add or update a budget member response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetMemberResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["budgets"],"summary":"Delete a budget member","description":"Delete a user member from an existing budget.","operationId":"deleteBudgetMember","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"budgetId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the budget","example":"{{se_budget_uuid}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the user","example":"{{se_user_uuid}}"}}],"responses":{"200":{"description":"Delete a budget member response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/cards":{"get":{"tags":["cards"],"summary":"Get list of cards","description":"Get a list of card objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listCards","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n - `name`\n - `lastFour`\n - `status`","nullable":true,"example":"status"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=status:eq:ACTIVATED,budgetIds:in:\"abc,def\"`\n\nThe filterable fields are:\n - `status` - `ACTIVATED`, `NOT_ACTIVATED`, `FROZEN`, `DELETED`. Operators: `eq`.\n - `budgetIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `cardIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `userIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `types` - `PHYSICAL`, `VIRTUAL_MEMBER`, `VIRTUAL_VENDOR`. Operators: `eq`, `in`.","nullable":true,"example":"cardIds:eq:{{se_card_uuid}}"}}],"responses":{"200":{"description":"Get list of cards response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedCardsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["cards"],"summary":"Create a vendor card","description":"Create a new vendor card.\n\nSee [Vendor cards](https://developer.bill.com/docs/virtual-cards) in the Guides section for more information, sample requests, and responses.","operationId":"createBudgetCard","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCardRequestDto"}}},"required":true},"responses":{"200":{"description":"Create a vendor card response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/cards/{cardId}":{"get":{"tags":["cards"],"summary":"Get vendor card details","description":"Get details about an existing vendor card.","operationId":"getCard","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"cardId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the card","example":"{{se_card_uuid}}"}}],"responses":{"200":{"description":"Get vendor card details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["cards"],"summary":"Delete a vendor card","description":"Delete an existing vendor card. A deleted card cannot be restored. The deleted card is not available in the list of cards.","operationId":"deleteCard","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"cardId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the card","example":"{{se_card_uuid}}"}},{"name":"reason","in":"query","schema":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/UserDeletedReasonType"},{"description":"Delete card reason","example":"CANCELLED"}]}}],"responses":{"200":{"description":"Delete a vendor card response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["cards"],"summary":"Update a vendor card","description":"Update details about an existing vendor card.","operationId":"updateCard","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"cardId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the card","example":"{{se_card_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCardRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a vendor card response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/cards/{cardId}/freeze":{"post":{"tags":["cards"],"summary":"Freeze a vendor card","description":"Freeze an existing vendor card.\n\nYou can freeze virtual cards and physical cards. A frozen card cannot be used for payments.","operationId":"freezeCard","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"cardId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the card","example":"{{se_card_uuid}}"}}],"responses":{"200":{"description":"Freeze a vendor card response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/cards/{cardId}/pan-jwt":{"get":{"tags":["cards"],"summary":"Get a PAN JWT token","description":"Get a JWT token for a vendor card.\n\nThe JWT token for a card contains all the information required for retrieving details about the card (16-digit PAN, CVV, and expiration date). The JWT token lifespan is 5 minutes.\n\nYou can decode the JWT token to get PAN details with `POST https://app-dev-bdc-stg.divvy.co/de/rest/pan`.\n\n```\ncurl --request POST 'https://app-dev-bdc-stg.divvy.co/de/rest/pan'\n--header 'Content-Type: application/json'\n--data-raw '{\"token\":\"{JWT_token}\"}'\n```\n\n**Note**: Use `POST https://api.divvy.co/de/rest/pan` in the production environment.","operationId":"getPanJWT","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"cardId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the card","example":"{{se_card_uuid}}"}}],"responses":{"200":{"description":"Get a PAN JWT token response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardPanTokenResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/cards/{cardId}/unfreeze":{"post":{"tags":["cards"],"summary":"Unfreeze a vendor card","description":"Unfreeze an existing vendor card. You can unfreeze virtual cards and physical cards.","operationId":"unfreezeCard","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"cardId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the card","example":"{{se_card_uuid}}"}}],"responses":{"200":{"description":"Unfreeze a vendor card response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/custom-fields":{"get":{"tags":["custom-fields"],"summary":"Get list of custom fields","description":"Get a list of custom field objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listCustomFields","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n - `name`\n - `createdTime`","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=name:sw:Ad,retired:eq:false`\n\nThe filterable fields are:\n - `name` - String. Operators: `eq`, `sw`.\n - `retired` - `true` or `false`. Operators: `eq`.","nullable":true,"example":"retired:eq:false"}}],"responses":{"200":{"description":"Get list of custom fields response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedCustomFieldResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["custom-fields"],"summary":"Create a custom field","description":"Create a new custom field.\n\nSee [Transactions](https://developer.bill.com/docs/transaction-management) in the Guides section for more information, sample requests, and responses.","operationId":"createCustomField","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldRequestDto"}}},"required":true},"responses":{"200":{"description":"Create a custom field response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/custom-fields/{customFieldId}":{"get":{"tags":["custom-fields"],"summary":"Get custom field details","description":"Get details about an existing custom field.","operationId":"getCustomField","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}}],"responses":{"200":{"description":"Get custom field details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["custom-fields"],"summary":"Delete a custom field","description":"Delete an existing custom field. A deleted custom field cannot be restored. The deleted custom field is not available in the list of custom fields.","operationId":"deleteCustomField","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}}],"responses":{"200":{"description":"Delete a custom field response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["custom-fields"],"summary":"Update a custom field","description":"Update details about an existing custom field.","operationId":"updateCustomField","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomFieldRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a custom field response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/custom-fields/{customFieldId}/values":{"get":{"tags":["custom-fields"],"summary":"Get list of custom field values","description":"Get a list of custom field value objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listCustomFieldValues","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=name:sw:Ad`\n\nThe filterable fields are:\n - `name` - String. Operators: `eq`, `sw`.\n - `retired` - `true` or `false`. Operators: `eq`. The default value is `false`.","nullable":true,"example":"retired:eq:false"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}}],"responses":{"200":{"description":"Get list of custom field values response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedCustomFieldValuesResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["custom-fields"],"summary":"Create a custom field value","description":"Create a new value for an existing custom field.","operationId":"createCustomFieldValues","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldValueRequestDto"}}},"required":true},"responses":{"200":{"description":"Create a custom field value response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldValueResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["custom-fields"],"summary":"Delete a custom field value","description":"Delete an existing custom field value.\n\nA deleted value cannot be restored. The deleted value is not available in the list of custom field values. In addition, the deleted value cannot be assigned to current or future transactions. The deleted value will continue to be assigned to past transactions.","operationId":"deleteCustomFieldValue","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteCustomFieldValuesRequestDto"}}},"required":true},"responses":{"200":{"description":"Delete a custom field value response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/custom-fields/{customFieldId}/values/{customFieldValueId}":{"get":{"tags":["custom-fields"],"summary":"Get custom field value details","description":"Get details about an existing custom field value.","operationId":"getCustomFieldValues","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}},{"name":"customFieldValueId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field value","example":"{{se_custom_field_value_uuid01}}"}}],"responses":{"200":{"description":"Get custom field value details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldValueResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/reimbursements":{"get":{"tags":["reimbursements"],"summary":"Get list of reimbursements","description":"Get a list of reimbursement objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listReimbursements","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n  - `submittedTime`\n  - `status`\n  - `amount`\n  - `receiptAddedTime`\n  - `fulfillmentType`\n  - `batchId`\n  - `batchAmount`\n","nullable":true,"example":"submittedTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `budgetIds:in:\"abc,def\",submittedTime:gte:\"2024-10-17T19:36:32.628Z\"`\n\nThe filterable fields are:\n - `reimbursementIds` - List of string IDs. Operators: `eq`, `in`.\n - `budgetIds` - List of string IDs. Operators: `eq`, `in`.\n - `userIds` - List of string IDs. Operators: `eq`, `in`.\n - `customFieldValueIds` - List of string IDs. Operators: `eq`, `in`.\n - `type` - `PURCHASE`, `MILEAGE`. Operators: `eq`.\n - `submittedTime` - DateTime. Operators: `lte`, `gte`.\n - `retired` - `true` or `false`. Operators: `eq`.","nullable":true,"example":"reimbursementIds:eq:{{se_reimbursement_uuid}}"}}],"responses":{"200":{"description":"Get list of reimbursements response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedReimbursementsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["reimbursements"],"summary":"Create a reimbursement","description":"Create a new reimbursement.\n\nSee [Reimbursements](https://developer.bill.com/docs/reimbursements) in the Guides section for more information, sample requests, and responses.","operationId":"createReimbursement","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReimbursementRequestDto"}}},"required":true},"responses":{"200":{"description":"Create a reimbursement response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/reimbursements/image-upload-url":{"post":{"tags":["reimbursements"],"summary":"Create a reimbursement upload URL","description":"Create a reimbursement image upload URL.\n\nFrom the response, use the upload `url` to upload a receipt image for the reimbursement. For example, to upload a JPEG image, use the following `curl` command. To upload a PNG image, set the content type as `image/png`.\n\n```\ncurl '{upload_url}'\n-H 'Content-Type: image/jpeg'\n--upload-file {file_name_with_extension}\n```\n\n**Note**: BILL supports JPG and PNG file formats for reimbursement images.\n\nSee [Reimbursements](https://developer.bill.com/docs/reimbursements) in the Guides section for more information, sample requests, and responses.","operationId":"createImageUploadUrl","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"responses":{"200":{"description":"Create a reimbursement upload URL response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementImageUploadUrlResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/reimbursements/{reimbursementId}":{"get":{"tags":["reimbursements"],"summary":"Get reimbursement details","description":"Get details about an existing reimbursement.","operationId":"getReimbursement","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"reimbursementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement","example":"{{se_reimbursement_uuid}}"}}],"responses":{"200":{"description":"Get reimbursement details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["reimbursements"],"summary":"Delete a reimbursement","description":"Delete an existing reimbursement. A deleted reimbursement cannot be restored. The deleted reimbursement is not available in the list of reimbursements.","operationId":"deleteReimbursement","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"reimbursementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement","example":"{{se_reimbursement_uuid}}"}}],"responses":{"200":{"description":"Delete a reimbursement response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["reimbursements"],"summary":"Update a reimbursement","description":"Update details about an existing reimbursement.","operationId":"updateReimbursement","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"reimbursementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement","example":"{{se_reimbursement_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateReimbursementRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a reimbursement response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/reimbursements/{reimbursementId}/action":{"post":{"tags":["reimbursements"],"summary":"Approve or deny a reimbursement","description":"Approve or deny a reimbursement request.\n\nSee [Reimbursements](https://developer.bill.com/docs/reimbursements) in the Guides section for more information, sample requests, and responses.","operationId":"approveOrDenyReimbursement","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"reimbursementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement","example":"{{se_reimbursement_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementActionRequestDto"}}},"required":true},"responses":{"200":{"description":"Approve or deny a reimbursement response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/reimbursements/{reimbursementId}/receipts":{"post":{"tags":["reimbursements"],"summary":"Add a reimbursement receipt","description":"Add a receipt to an existing reimbursement. \nIn the request, use the same upload url that you used to upload the receipt image. See [Create a reimbursement upload URL](https://developer.bill.com/reference/createimageuploadurl) to learn about creating a reimbursement image upload URL.","operationId":"addReimbursementReceipt","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"reimbursementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement","example":"{{se_reimbursement_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementReceiptRequestDto"}}},"required":true},"responses":{"200":{"description":"Add a reimbursement receipt response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptImage"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/reimbursements/{reimbursementId}/receipts/{receiptId}":{"delete":{"tags":["reimbursements"],"summary":"Delete a reimbursement receipt","description":"Delete a receipt from an existing reimbursement. A deleted receipt cannot be restored. The deleted receipt is not available in the reimbursement details.","operationId":"deleteReimbursementReceipt","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"reimbursementId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement","example":"{{se_reimbursement_uuid}}"}},{"name":"receiptId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the reimbursement receipt","example":"{{se_reimbursement_receipt_uuid}}"}}],"responses":{"200":{"description":"Delete a reimbursement receipt response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions":{"get":{"tags":["transactions"],"summary":"Get list of transactions","description":"Get a list of transaction objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 50 results on one page.\n\nIn the response, you get information about transactions, reversals, and refunds.\n* **Transaction**: For a transaction, `transactionType` is set as `AUTHORIZATION` or `DECLINE`. The field is set as `CLEAR` after BILL has moved money from the funding account.\n* **Reversal**: For a reversal (cancel before funds are settled), `transactionType` is set as `AUTHORIZATION` and `amount` is a negative value.\n* **Refund**: For a refund (cancel after funds are settled), `transactionType` is set as `CLEAR` and `amount` is a negative value.\n\n**Note**: Only parent transactions are available in the response.","operationId":"listTransactions","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"max","in":"query","schema":{"maximum":50,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n- `amount`\n- `merchantName`\n- `occurredTime`","nullable":true,"example":"occurredTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=cardId:eq:MyCardID,userId:in:\"123,456\"`\n\nThe filterable fields are:\n - `cardId` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `merchantName` - String. Operators: `eq`.\n - `userId` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `budgetId` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `fees` - Number with 2 decimal places. Operators: `lte`, `gte`.\n - `transactionIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `customFieldIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.\n - `customFieldValueIds` - List of string IDs or UUIDs. Operators: `eq`, `in`. **Note**: Use `customFieldIds` and `customFieldValueIds` to filter transactions based on custom fields. Use the `showCustomFieldIds` query parameter to control which custom fields are shown for each transaction.\n - `receiptStatus` - `VALIDATED`, `NOT_VALIDATED`, `ATTACHED`, `MISSING`, `NOT_REQUIRED`, `NOT_ATTACHED`. Operators: `eq`, `ne`, `in`, `nin`.\n - `type` - `CLEAR`, `DECLINE`, `AUTHORIZATION`, `OTHER`. Operators: `eq`, `ne`, `in`, `nin`.\n - `occurredTime` - DateTime. Operators: `lte`, `gte`.\n - `authorizedTime` - DateTime. Operators: `lte`, `gte`.\n - `updatedTime` - DateTime. Operators: `lte`, `gte`.\n - `isLocked` - `true` or `false`. Operators: `eq`.\n - `complete` - `true` or `false`. Operators: `eq`.\n - `amount` - Number with 2 decimal places. Operators: `lte`, `gte`.\n - `isReviewed` - `true` or `false`. Operators: `eq`.\n - `syncStatus` - `PENDING`, `SYNCED`, `ERROR`, `MANUAL_SYNCED`, `NOT_SYNCED`. Operators: `eq`, `ne`, `in`, `nin`.","nullable":true,"example":"amount:gte:100.00"}},{"name":"showCustomFieldIds","in":"query","schema":{"type":"string","description":"List of BILL-generated IDs of custom fields to be displayed for each transaction. Set the IDs as comma-separated values. By default, all the custom fields are displayed for all transactions.\n\n**NOTE**: Use `customFieldIds` and `customFieldValueIds` to filter transactions based on custom fields.","nullable":true}},{"name":"includeReceipts","in":"query","schema":{"type":"boolean","description":"Set as `true` to include transaction receipts in the response. By default, receipts are not included in the response.","nullable":true,"example":true}}],"responses":{"200":{"description":"Get list of transactions response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedTransactionsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/receipt-upload-url":{"post":{"tags":["transactions"],"summary":"Create a transaction upload URL","description":"Create a transaction image upload URL.\n\nFrom the response, use the upload `url` to upload a receipt image for the transaction. For example, to upload a JPEG image, use the following `curl` command. To upload a PNG image, set the content type as `image/png`.\n\n```\ncurl '{upload_url}'\n-H 'Content-Type: image/jpeg'\n--upload-file {file_name_with_extension}\n```\n\n**Note**: BILL supports JPG and PNG file formats for transaction images.\n\nSee [Transactions](https://developer.bill.com/docs/transaction-management) in the Guides section for more information, sample requests, and responses.","operationId":"createReceiptUploadUrl","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"responses":{"200":{"description":"Create a transaction upload URL response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReimbursementImageUploadUrlResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/{acsTransactionId}/3ds-challenge":{"post":{"tags":["transactions"],"summary":"Accept or reject a transaction","description":"Accept or reject a transaction 3D Secure (3DS) challenge.\n\nWhen a transaction is created, a 3DS challenge may trigger to verify the identity of the cardholder. Use this endpoint to approve or deny the transaction. The Spend & Expense user must have the `ADMIN` user role to perform this operation.\n\nSubscribe to the `spend.three-ds-challenge.created` event to get a webhook notification when a 3DS challenge is triggered for a transaction. See [Spend & Expense 3DS challenge notification payload](https://developer.bill.com/docs/spend-expense-3ds-challenge-notification-payload) for more information.\n\nSee [3-D Secure - BILL Spend & Expense](https://help.bill.com/direct/s/article/5955655) in the BILL Help Center to learn more about 3D Secure at BILL.","operationId":"threeDsChallenge","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"acsTransactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction. You receive this transaction ID in the `spend.three-ds-challenge.created` webhook notification.","example":"{{se_transaction_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreeDsRequestDto"}}},"required":true},"responses":{"200":{"description":"Accept or reject a transaction response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreeDsResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/{transactionId}":{"get":{"tags":["transactions"],"summary":"Get transaction details","description":"Get details about an existing transaction.\n\nIn the response, you get information about transactions, reversals, and refunds.\n* **Transaction**: For a transaction, `transactionType` is set as `AUTHORIZATION` or `DECLINE`. The field is set as `CLEAR` after BILL has moved money from the funding account.\n* **Reversal**: For a reversal (cancel before funds are settled), `transactionType` is set as `AUTHORIZATION` and `amount` is a negative value.\n* **Refund**: For a refund (cancel after funds are settled), `transactionType` is set as `CLEAR` and `amount` is a negative value.","operationId":"getTransaction","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}},{"name":"showCustomFieldIds","in":"query","schema":{"type":"string","description":"List of BILL-generated IDs or UUIDs of custom fields. Set the IDs or UUIDs as comma-separated values.","nullable":true,"example":"{{se_custom_field_uuid}}"}}],"responses":{"200":{"description":"Get transaction details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["transactions"],"summary":"Update a transaction","description":"Update the budget for an existing transaction.","operationId":"updateTransaction","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTxRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a transaction response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/{transactionId}/custom-fields":{"get":{"tags":["transactions"],"summary":"Get list of transaction custom fields","description":"Get a list of custom field objects applied to an existing transaction.","operationId":"listTransactionCustomFields","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=customFieldIds:in:\"abc,def\"`\n\nThe filterable fields are:\n - `customFieldIds` - List of string IDs or UUIDs. Operators: `eq`, `in`.","nullable":true,"example":"customFieldIds:eq:{{se_custom_field_uuid}}"}}],"responses":{"200":{"description":"Get list of transaction custom fields response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTransactionCustomFieldResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["transactions"],"summary":"Update transaction custom fields","description":"Update details about custom fields and their values applied to an existing transaction.\n\nYou cannot update custom fields in a locked transaction. When a transaction is locked, `isLocked` is set as `true`. You can get information about your transactions with `GET /v3/spend/transactions` or `GET /v3/spend/transactions/{transactionId}.\n\nSee [Lock or unlock custom fields for a transaction](https://help.bill.com/direct/s/article/4278891) in the BILL Help Center for more information.","operationId":"updateTransactionCustomFields","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateTxCustomFieldRequestDto"}}},"required":true},"responses":{"200":{"description":"Update transaction custom fields response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpendStatusDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/{transactionId}/custom-fields/{customFieldId}/values":{"get":{"tags":["transactions"],"summary":"Get list of transaction custom field values","description":"Get a list of custom field value objects applied to an existing transaction. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listTransactionCustomFieldValues","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}},{"name":"customFieldId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the custom field","example":"{{se_custom_field_uuid}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of transaction custom field value response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedTxCFValueResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/{transactionId}/receipts":{"post":{"tags":["transactions"],"summary":"Add a transaction receipt","description":"Add a receipt to an existing transaction.\n\nIn the request, use the same upload `url` that you used to upload the receipt image. See [Create a transaction upload URL](https://developer.bill.com/reference/createreceiptuploadurl) to learn about creating a transaction image upload URL.","operationId":"addTransactionReceipt","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionReceiptRequestDto"}}},"required":true},"responses":{"200":{"description":"Add a transaction receipt response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiptImage"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/transactions/{transactionId}/receipts/{receiptId}":{"delete":{"tags":["transactions"],"summary":"Delete a transaction receipt","description":"Delete a receipt from an existing transaction. A deleted receipt cannot be restored. The deleted receipt is not available in the transaction details.","operationId":"deleteTransactionReceipt","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"transactionId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the transaction","example":"{{se_transaction_uuid}}"}},{"name":"receiptId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated UUID of the transaction receipt","example":"{{se_transaction_receipt_uuid}}"}}],"responses":{"200":{"description":"Delete a transaction receipt response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/users":{"get":{"tags":["users"],"summary":"Get list of users","description":"Get a list of user objects in the current user's company. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.","operationId":"listUsers","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"nextPage","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.","nullable":true}},{"name":"prevPage","in":"query","schema":{"type":"string","description":"Previous page of results. Set this field as the `prevPage` value for navigation.","nullable":true}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int64","nullable":true,"example":10}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `filters=retired:eq:true`\n\nThe filterable fields are:\n - `retired` - `true` or `false`. Operators: `eq`.","nullable":true,"example":"retired:eq:false"}}],"responses":{"200":{"description":"Get list of users response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedUsersResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["users"],"summary":"Create a user","description":"Create a new user.\n\nSee [Budgets and Users](https://developer.bill.com/docs/budgets-and-users) in the Guides section for more information, sample requests, and responses.","operationId":"createUser","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequestDto"}}},"required":true},"responses":{"200":{"description":"Create a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/users/current":{"get":{"tags":["users"],"summary":"Get current user details","description":"Get details about the current user. This is the user that generated the Spend & Expense API token.","operationId":"getCurrentUser","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}}],"responses":{"200":{"description":"Get current user details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/spend/users/{userId}":{"get":{"tags":["users"],"summary":"Get user details","description":"Get details about an existing user.","operationId":"getUser","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the user","example":"{{se_user_uuid}}"}}],"responses":{"200":{"description":"Get user details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["users"],"summary":"Delete a user","description":"Delete an existing user.","operationId":"deleteUser","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the user","example":"{{se_user_uuid}}"}}],"responses":{"200":{"description":"Delete a user response. A deleted user cannot be restored. The deleted user is not available in the list of users."},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["users"],"summary":"Update a user","description":"Update details about an existing user.","operationId":"updateUser","parameters":[{"name":"apiToken","in":"header","schema":{"type":"string","description":"Access token for Spend & Expense API authentication","nullable":true,"example":"{{api_token}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID or UUID of the user","example":"{{se_user_uuid}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/users":{"get":{"tags":["organization-users"],"summary":"Get list of users","description":"Get a list of user objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listOrganizationUsers","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{org_user_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of users response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["organization-users"],"summary":"Create a user","description":"Create a new user. The currently signed-in user must have the `ADMINISTRATOR` user role in the BILL organization to perform this operation.\n\nWhen you create a user, BILL sends an email to the user for them to complete their sign-up. After user sign-up is complete, the user can access features in your BILL organization depending on the user role.\n\nSee [Organizations and Users](https://developer.bill.com/docs/organizations-users) in the Guides section for more information, sample requests, and responses.","operationId":"createOrganizationUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserCreateRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/users/{userId}":{"get":{"tags":["organization-users"],"summary":"Get user details","description":"Get details about an existing user.","operationId":"getOrganizationUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{org_user_id}}"}}],"responses":{"200":{"description":"Get user details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["organization-users"],"summary":"Update a user","description":"Update details about an existing user.","operationId":"updateOrganizationUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{org_user_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/users/{userId}/archive":{"post":{"tags":["organization-users"],"summary":"Archive a user","description":"Archive an existing user. In the response, the `archived` field is set as `true`.\"\n\nYou can restore an archived user with `POST /v3/users/{userId}/restore`. There is no change when you archive an archived user.","operationId":"archiveOrganizationUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{org_user_id}}"}}],"responses":{"200":{"description":"Archive a user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/users/{userId}/restore":{"post":{"tags":["organization-users"],"summary":"Restore an archived user","description":"Restore an archived user. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored users. There is no change when you restore a restored user.","operationId":"restoreOrganizationUser","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"userId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`.","example":"{{org_user_id}}"}}],"responses":{"200":{"description":"Restore an archived user response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendor-credits":{"get":{"tags":["vendor-credits"],"summary":"Get list of vendor credits","description":"Get a list of vendor credit objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listVendorCredits","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{vendor_credit_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of vendor credits response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListVendorCreditResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["vendor-credits"],"summary":"Create a vendor credit","description":"Create a vendor credit.\n\nWith a vendor credit, you can adjust the amount that you owe a vendor.\n\nSee [Vendor credits](https://developer.bill.com/docs/ap-vendor-credits) in the Guides section for more information, sample requests, and responses.","operationId":"createVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVendorCreditRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a vendor credit response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendor-credits/bulk":{"put":{"tags":["vendor-credits"],"summary":"Replace multiple vendor credits","description":"Update the number of line items in multiple vendor credits with one API request. You can also update other details for each vendor credit.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a vendor credit. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the vendor credit.\n* When you omit an existing line item `id`, the line item is removed from the vendor credit.","operationId":"bulkReplaceVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/ReplaceVendorCreditWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Replace multiple vendor credits response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["vendor-credits"],"summary":"Create multiple vendor credits","description":"Create multiple vendor credits with one API request. You can create up to 50 vendor credits with one `POST /v3/vendor-credits/bulk` request.","operationId":"bulkCreateVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/CreateVendorCreditRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple vendor credits response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["vendor-credits"],"summary":"Update multiple vendor credits","description":"Update details about line items in multiple vendor credits with one API request. You can also update other vendor credit details.\n\nYou can use the PATCH operation to modify line item details, such as `amount`, `quantity`, and `description`. The vendor credit line item `id` does not change with a PATCH operation.","operationId":"bulkUpdateVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/UpdateVendorCreditWithIdRequestDto"}}}},"required":true},"responses":{"200":{"description":"Update multiple vendor credits response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendor-credits/bulk/archive":{"post":{"tags":["vendor-credits"],"summary":"Archive multiple vendor credits","description":"Archive multiple vendor credits with one API request. In the response, the `archived` field for each object is set as `true`. An archived vendor credit cannot be restored.","operationId":"bulkArchiveVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","description":"BILL-generated IDs of the vendor credits. Each value begin with `vcr`. Set the IDs as comma-separated values.","example":"{{vendor_credit_id}}"}}],"responses":{"200":{"description":"Archive multiple vendor credits response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditBulkResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendor-credits/{vendorCreditId}":{"get":{"tags":["vendor-credits"],"summary":"Get vendor credit details","description":"Get details about an existing vendor credit.","operationId":"getVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorCreditId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`.","example":"{{vendor_credit_id}}"}}],"responses":{"200":{"description":"Get vendor credit details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditWithUsageResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"put":{"tags":["vendor-credits"],"summary":"Replace a vendor credit","description":"Update the number of line items in a vendor credit. You can also update other vendor credit details.\n\nYou can use the PUT operation to add, remove, or replace the number of line items in a vendor credit. A set of rules apply with the PUT operation.\n* When you add a new line item, a new line item `id` is generated in the vendor credit.\n* When you omit an existing line item `id`, the line item is removed from the vendor credit.","operationId":"replaceVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorCreditId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`.","example":"{{vendor_credit_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceVendorCreditRequestDto"}}},"required":true},"responses":{"200":{"description":"Replace a vendor credit response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["vendor-credits"],"summary":"Update a vendor credit","description":"Update details about a vendor credit line item. You can also update other vendor credit line item details.\n\nYou can use the PATCH operation to modify line item details, such as `amount`, `quantity`, and `description`. The vendor credit line item `id` does not change with a PATCH operation.","operationId":"updateVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorCreditId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`.","example":"{{vendor_credit_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVendorCreditRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a vendor credit response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendor-credits/{vendorCreditId}/archive":{"post":{"tags":["vendor-credits"],"summary":"Archive a vendor credit","description":"Archive an existing vendor credit. In the response, the `archived` field is set as `true`. An archived vendor credit cannot be restored.","operationId":"archiveVendorCredit","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorCreditId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`.","example":"{{vendor_credit_id}}"}}],"responses":{"200":{"description":"Archive a vendor credit response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreditResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors":{"get":{"tags":["vendors"],"summary":"Get list of vendors","description":"Get a list of vendor objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.\n\nSee [Search operations with lists](https://developer.bill.com/docs/search-op-with-lists) in the Guides section for filtering, sorting, and pagination examples.","operationId":"listVendors","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"max","in":"query","schema":{"maximum":100,"minimum":1,"type":"integer","description":"Maximum number of results","format":"int32","nullable":true,"example":10}},{"name":"sort","in":"query","schema":{"type":"string","description":"Field name and sort order. Both simple and compound sorting is available.\n\nThe format is `sort={field_01}:{sort_order},{field_02}:{sort_order}`.\n\n**NOTE**: Sorting occurs in the specified order.","nullable":true,"example":"createdTime:desc"}},{"name":"filters","in":"query","schema":{"type":"string","description":"Field name, operator, and value. Both simple and compound filtering is available.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.","nullable":true,"example":"id:eq:{{vendor_id}}"}},{"name":"page","in":"query","schema":{"type":"string","description":"Next page of results.\n\nWhen a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set `page` as the `nextPage` or `prevPage` value for navigation.","nullable":true}}],"responses":{"200":{"description":"Get list of vendors response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListVendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["vendors"],"summary":"Create a vendor","description":"Create a new vendor.\n\n### Requirements for enabling vendor payments\n\nVendor address details are required for paying a vendor by check or for inviting the vendor to join the BILL network.\n* `line1`\n* `city`\n* `zipOrPostalCode`\n* `country`\n* `payeeName`\n\n**Note**: A vendor can be enrolled to accept virtual card payments even without being connected in the BILL network. See [Virtual card FAQ](https://help.bill.com/direct/s/article/360021237411) in the BILL Help Center for more information.\n\n### Requirements for enabling electronic payments to vendors\n\nVendor bank account details are required for paying a vendor with electronic payment methods.\n\n`paymentInformation` details about bank accounts are required for adding a vendor bank account.\n* `payeeName`\n* `bankCountry` (for international vendors)\n* `paymentCurrency` (for international vendors)\n* `nameOnAccount`\n* `accountNumber`\n* `routingNumber` (empty for an IBAN `accountNumber`)\n* `type` (for international vendors)\n\n`regulatoryFields` and `paymentPurpose` are additional required fields for enabling electronic payments to international vendors (not United States) in specific countries.\n\n**Note**: When you add a vendor bank account in the production environment, BILL requires 2 business days to complete a one-time verification of the bank account. To pay such a vendor, you must set a `processDate` that is 2 business days from the current date.\n\nSee [Vendors](https://developer.bill.com/docs/ap-vendors) in the Guides section for more information, sample requests, and responses.","operationId":"createVendor","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorRequestDto"}}},"required":true},"responses":{"201":{"description":"Create a vendor response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/bulk":{"post":{"tags":["vendors"],"summary":"Create multiple vendors","description":"Create multiple vendors with one API request. You can create up to 20 vendors with one `POST /v3/vendors/bulk` request.\n\nIn your bulk vendor creation request, all your vendors must be successfully created for a successful response. If any vendor creation is not successful, the entire request fails and none of the vendors in the request are created.\n\n### Requirements for enabling vendor payments\n\nVendor address details are required for paying a vendor by check or for inviting the vendor to join the BILL network.\n* `line1`\n* `city`\n* `zipOrPostalCode`\n* `country`\n* `payeeName`\n\n**Note**: A vendor can be enrolled to accept virtual card payments even without being connected in the BILL network. See [Virtual card FAQ](https://help.bill.com/direct/s/article/360021237411) in the BILL Help Center for more information.\n\n### Requirements for enabling electronic payments to vendors\n\nVendor bank account details are required for paying a vendor with electronic payment methods.\n\n`paymentInformation` details about bank accounts are required for adding a vendor bank account.\n* `payeeName`\n* `bankCountry` (for international vendors)\n* `paymentCurrency` (for international vendors)\n* `nameOnAccount`\n* `accountNumber`\n* `routingNumber` (empty for an IBAN `accountNumber`)\n* `type` (for international vendors)\n\n`regulatoryFields` and `paymentPurpose` are additional required fields for enabling electronic payments to international vendors (not United States) in specific countries.\n\n**Note**: When you add a vendor bank account in the production environment, BILL requires 2 business days to complete a one-time verification of the bank account. To pay such a vendor, you must set a `processDate` that is 2 business days from the current date.\n\nSee [Vendors](https://developer.bill.com/docs/ap-vendors) in the Guides section for more information, sample requests, and responses.","operationId":"createBulkVendor","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":20,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/VendorRequestDto"}}}},"required":true},"responses":{"201":{"description":"Create multiple vendors response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkVendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/configuration/international-payments":{"get":{"tags":["vendors"],"summary":"Get international payments configuration","description":"Get international payments (not USD) configuration that is required for compliance with international payment rules of a vendor country and vendor bank account.\n\nThis information is based on vendor country, bill currency, and vendor account type. Use this endpoint for getting information before creating an international vendor. In the response, the required `paymentPurpose` and `regulatoryFields` information is retrieved for the vendor.\n\n**Note**: If you are adding `paymentPurpose` and `regulatoryFields` information after creating an international vendor, use `GET /v3/vendors/{vendorId}/configuration` to get the required configuration for your created vendor.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set `paymentPurpose` and `regulatoryFields`.","operationId":"getIntlConfig","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"country","in":"query","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/CountryCode"},{"description":"Vendor country name","example":"DK"}]}},{"name":"billCurrency","in":"query","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Bill currency. Three-letter abbreviation.\n\nSee <a href=\"https://help.bill.com/hc/en-us/articles/360007172671\">Country information for international payments</a> in the BILL Help Center for more information.","example":"EUR"}]}},{"name":"accountType","in":"query","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/AccountTypeRequest"},{"description":"Vendor account type (`BUSINESS` or `PERSON`)","example":"BUSINESS"}]}}],"responses":{"200":{"description":"Get international payments configuration response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntlPmtsConfigurationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/{vendorId}":{"get":{"tags":["vendors"],"summary":"Get vendor details","description":"Get details about an existing vendor.","operationId":"getVendor","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Get vendor details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"patch":{"tags":["vendors"],"summary":"Update a vendor","description":"Update details about an existing vendor.\n\n### Requirements for enabling vendor payments\n\nVendor address details are required for paying a vendor by check or for inviting the vendor to join the BILL network.\n* `line1`\n* `city`\n* `zipOrPostalCode`\n* `country`\n* `payeeName`\n\n**Note**: You cannot add or update vendor bank account information with this endpoint. You can add and manage vendor bank account information with a dedicated set of endpoints.\n* **Create a vendor bank account**: `POST /v3/vendors/{vendorId}/bank-account`\n* **Get vendor bank account details**: `GET /v3/vendors/{vendorId}/bank-account`\n* **Delete a vendor bank account**: `DELETE /v3/vendors/{vendorId}/bank-account`","operationId":"updateVendor","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorUpdateRequestDto"}}},"required":true},"responses":{"200":{"description":"Update a vendor response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/{vendorId}/archive":{"post":{"tags":["vendors"],"summary":"Archive a vendor","description":"Archive an existing vendor. In the response, the `archived` field is set as `true`.\n\nYou can restore an archived vendor with `POST /v3/vendors/{vendorId}/restore`. There is no change when you archive an archived vendor.","operationId":"archiveVendor","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Archive a vendor response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/{vendorId}/bank-account":{"get":{"tags":["vendors"],"summary":"Get vendor bank account details","description":"Get details about an existing vendor bank account.","operationId":"getVendorBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Get vendor bank account details response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"post":{"tags":["vendors"],"summary":"Create a vendor bank account","description":"Create a vendor bank account for an existing vendor.\n\nTo update vendor bank account information, you must first delete the existing vendor bank account (with `DELETE /v3/vendors/{vendorId}/bank-account`), and then create a new vendor bank account (with `POST /v3/vendors/{vendorId}/bank-account`) with the updated information.\n\n**Note**: When you add a vendor bank account in the production environment, BILL requires 2 business days to complete a one-time verification of the bank account. To pay such a vendor, you must set a `processDate` that is 2 business days from the current date.","operationId":"createVendorBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorBankAccountRequestDto"}}},"required":true},"responses":{"200":{"description":"Create a vendor bank account response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorBankAccountResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}},"delete":{"tags":["vendors"],"summary":"Delete a vendor bank account","description":"Delete the existing vendor bank account for a vendor.\n\nTo update vendor bank account information, you must first delete the existing vendor bank account (with `DELETE /v3/vendors/{vendorId}/bank-account`), and then create a new vendor bank account (with `POST /v3/vendors/{vendorId}/bank-account`) with the updated information.","operationId":"deleteVendorBankAccount","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"204":{"description":"Delete a vendor bank account response"},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/{vendorId}/configuration":{"get":{"tags":["vendors"],"summary":"Get vendor configuration","description":"Get international payments (not USD) configuration after vendor creation. This configuration is required for compliance with international payment rules of a vendor country and vendor bank account.\n\nIn the response, the required `paymentPurpose` and `regulatoryFields` information is retrieved for the vendor.\n\n**Note**: If you are adding `paymentPurpose` and `regulatoryFields` information during international vendor creation, use `GET /v3/vendors/configuration/international-payments` to get the required configuration before vendor creation.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set `paymentPurpose` and `regulatoryFields`.","operationId":"getConfigurationByVendorId","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Get vendor configuration response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorConfigurationResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}},"/v3/vendors/{vendorId}/restore":{"post":{"tags":["vendors"],"summary":"Restore an archived vendor","description":"Restore an archived vendor. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored vendors. There is no change when you restore a restored vendor.","operationId":"restoreVendor","parameters":[{"name":"sessionId","in":"header","schema":{"type":"string","description":"API session ID generated with `/v3/login`","nullable":true,"example":"{{session_id}}"}},{"name":"devKey","in":"header","schema":{"type":"string","description":"Developer key generated with your BILL developer account","nullable":true,"example":"{{developer_key}}"}},{"name":"vendorId","in":"path","required":true,"schema":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`.","example":"{{vendor_id}}"}}],"responses":{"200":{"description":"Restore an archived vendor response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorResponseDto"}}}},"4XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}},"5XX":{"description":"List of errors.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BdcError"}}}}}}}}},"components":{"schemas":{"APCardResponseDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the AP Card. The value begins with `dva`."},"status":{"allOf":[{"$ref":"#/components/schemas/APCardStatus"},{"description":"AP Card status."}]},"nameOnAccount":{"type":"string","description":"Full name on the AP Card"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"balance":{"type":"number","description":"AP Card available balance"},"limit":{"type":"number","description":"AP Card spending limit"}},"description":"AP Card response DTO."},"APCardStatus":{"type":"string","description":"AP Card response status.","enum":["ACTIVE","INACTIVE","DELETED","PENDING","DRAFT","DRAFT_DELETED","FROZEN","UNDEFINED"]},"AcceptInvitationRequestDto":{"required":["networkId","type"],"type":"object","properties":{"networkId":{"minLength":1,"type":"string","description":"Payment Network ID (PNI) of the customer or vendor that sent the invitation. BILL uses the PNI to send and receive electronic payments."},"type":{"allOf":[{"$ref":"#/components/schemas/AcceptInviteType"},{"description":"Type of organization that sent the invitation.\n* Select `VENDOR` to accept a connection request from a vendor\n* Select `CUSTOMER` to accept a connection request from a customer"}]},"id":{"type":"string","description":"BILL-generated ID of the existing vendor or customer record in your organization that you want to connect with. The value begins with `009` (vendor) or `0cu` (customer).\n\nWhen you set this field, you cannot set `name` in your request.","nullable":true},"name":{"type":"string","description":"Name of the new vendor or customer record that you want to add in your organization. BILL creates a new record with this name.\n\nWhen you set this field, you cannot set `id` in your request.","nullable":true}},"description":"Accept network invitation","example":"{\n  \"networkId\": \"{{network_id}}\",\n  \"type\": \"CUSTOMER\",\n  \"id\": {{customer_id}}\n}"},"AcceptInviteType":{"type":"string","description":"Enum for different types of organizations in BILL network.","enum":["VENDOR","CUSTOMER"]},"AccountResponse":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ChartOfAccountsTypeResponse"},{"description":"Type"}]},"number":{"type":"string","description":"Number"}},"description":"Account response Dto."},"AccountTypeRequest":{"type":"string","description":"AccountRequestType.","enum":["NONE","BUSINESS","PERSON"]},"AccountTypeResponse":{"type":"string","description":"AccountType.","enum":["NONE","BUSINESS","PERSON","UNDEFINED"]},"AccountingIntegrationTransaction":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the transaction in your accounting system"},"billable":{"type":"boolean","description":"Set as `true` if the transaction can be billed to a client or customer"},"integrationTxId":{"type":"string","description":"Unique transaction ID in your accounting system"},"syncStatus":{"type":"string","description":"Current sync status of the transaction with your accounting system"},"syncMessage":{"type":"string","description":"Message describing the result of the previous sync attempt"},"integrationType":{"type":"string","description":"Accounting system integration type"},"integrationId":{"type":"string","description":"BILL-generated ID of the accounting system integration"},"syncRequestId":{"type":"string","description":"Unique ID of the sync request that processed the transaction"}},"description":"Spend \\& Expense accounting integration transaction information."},"AchDisbursement":{"type":"object","properties":{"sentDate":{"type":"string","description":"ACH payment sent date","format":"date"},"arrivesByDate":{"type":"string","description":"ACH payment arrives by date","format":"date"}},"description":"ACH disbursement dto when the disbursement type is ach."},"ActorRole":{"type":"string","description":"Enum representing the actor role for reimbursements in the Spend API.","enum":["SUBMITTER","MANAGER","BUDGET_OWNER","ADMIN","SYSTEM"]},"AdditionalInfoRequest":{"type":"object","properties":{"taxId":{"type":"string","description":"Vendor tax ID. This value is required by the IRS for tax purposes."},"taxIdType":{"allOf":[{"$ref":"#/components/schemas/TaxIdTypeRequest"},{"description":"Vendor tax ID type"}]},"track1099":{"type":"boolean","description":"Set as `true` if the vendor is eligible to receive an IRS form 1099 from the payer"},"leadTimeInDays":{"type":"integer","description":"Vendor payment lead time in days","format":"int32"},"combinePayments":{"type":"boolean","description":"Set as `true` to combine a bulk payment made to the vendor with `POST /v3/payments/bulk`. The default value is `true`."},"paymentTermId":{"type":"string","description":"BILL-generated ID of the payment term. Use payment terms to set the number of days that customers have to pay a vendor bill."},"companyName":{"type":"string","description":"Vendor business name. This value is required by the IRS for tax purposes."}},"description":"The type Additional info."},"AdditionalInfoResponse":{"type":"object","properties":{"taxId":{"type":"string","description":"Vendor tax ID. This value is required by the IRS for tax purposes."},"taxIdType":{"allOf":[{"$ref":"#/components/schemas/TaxIdTypeResponse"},{"description":"Vendor tax ID type"}]},"track1099":{"type":"boolean","description":"Set as `true` if the vendor is eligible to receive an IRS form 1099 from the payer"},"leadTimeInDays":{"type":"integer","description":"Vendor payment lead time in days","format":"int32"},"combinePayments":{"type":"boolean","description":"Set as `true` to combine a bulk payment made to the vendor with `POST /v3/payments/bulk`. The default value is `true`."},"paymentTermId":{"type":"string","description":"BILL-generated ID of the payment term. Use payment terms to set the number of days that customers have to pay a vendor bill."},"companyName":{"type":"string","description":"Vendor business name. This value is required by the IRS for tax purposes."}},"description":"The type Additional info."},"Address":{"required":["city","country","line1","zipOrPostalCode"],"type":"object","properties":{"line1":{"minLength":1,"pattern":"^.{0,1000}$","type":"string","description":"Address line 1"},"line2":{"pattern":"^.{0,100}$","type":"string","description":"Address line 2"},"city":{"minLength":1,"pattern":"^.{0,100}$","type":"string","description":"Address city"},"stateOrProvince":{"pattern":"^.{0,100}$","type":"string","description":"State or province"},"zipOrPostalCode":{"minLength":1,"pattern":"^.{0,30}$","type":"string","description":"Zip or postal code"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"},{"description":"Country code (ISO2)"}]}},"description":"Address information."},"AddressDto":{"type":"object","properties":{"line1":{"type":"string","description":"Address line 1"},"line2":{"type":"string","description":"Address line 2"},"city":{"type":"string","description":"City"},"stateOrProvince":{"type":"string","description":"State or province"},"zipOrPostalCode":{"type":"string","description":"Zip or postal code"},"country":{"type":"string","description":"Country"}},"description":"Address information."},"AddressResponse":{"required":["city","country","line1","zipOrPostalCode"],"type":"object","properties":{"line1":{"minLength":1,"pattern":"^.{0,1000}$","type":"string","description":"Address line 1"},"line2":{"pattern":"^.{0,100}$","type":"string","description":"Address line 2"},"city":{"minLength":1,"pattern":"^.{0,100}$","type":"string","description":"Address city"},"stateOrProvince":{"pattern":"^.{0,100}$","type":"string","description":"State or province"},"zipOrPostalCode":{"minLength":1,"pattern":"^.{0,30}$","type":"string","description":"Zip or postal code"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"},{"description":"Country code (ISO2)"}]},"countryName":{"type":"string","description":"Country name."}},"description":"Address response."},"AddressUpdate":{"type":"object","properties":{"line1":{"pattern":"^.{0,1000}$","type":"string","description":"Address line 1"},"line2":{"pattern":"^.{0,100}$","type":"string","description":"Address line 2"},"city":{"pattern":"^.{0,100}$","type":"string","description":"Address city"},"stateOrProvince":{"pattern":"^.{0,100}$","type":"string","description":"State or province"},"zipOrPostalCode":{"pattern":"^.{0,30}$","type":"string","description":"Zip or postal code"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"},{"description":"Country code (ISO2)"}]}},"description":"The type Address Update dto."},"AllFilterDto":{"type":"object","properties":{"filterDtos":{"type":"array","items":{"$ref":"#/components/schemas/FilterDto"}}},"description":"Filter field name, operator, and value."},"AllOrganizationsResponseDto":{"type":"object","properties":{"organizations":{"type":"array","description":"List of organizations. When a console organization is available in the response, this indicates that the console organization is a parent of the listed organization.","items":{"$ref":"#/components/schemas/OrganizationDto"}},"consoleOrganizations":{"type":"array","description":"List of console organizations","items":{"$ref":"#/components/schemas/ConsoleOrganization"}}},"description":"Get list of organizations response."},"ApproverDto":{"required":["userId"],"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID of the individual user or approval group.\n* **Individual user**: The value begins with `006`.\n* **Approval group**: The value begins with `agp`."},"status":{"allOf":[{"$ref":"#/components/schemas/ApproverStatusDto"},{"description":"Bill approver status."}]},"approverOrder":{"type":"number","description":"Bill approval order."},"statusChangedTime":{"type":"string","description":"Status change date and time","format":"date-time"}},"description":"Approver DTO."},"ApproverGroupDto":{"type":"object","properties":{"groupName":{"type":"string","description":"Approval group name"},"groupId":{"type":"string","description":"BILL-generated ID of the approval group. The value begins with `agp`."},"users":{"type":"array","description":"Approval group user information","items":{"$ref":"#/components/schemas/GroupUsers"}}},"description":"Groups containing users."},"ApproverStatusDto":{"type":"string","description":"Approver status DTO.","enum":["WAITING","VIEWED","REROUTED","DENIED","APPROVED","UPCOMING","STALE","UNDEFINED"]},"ApproverType":{"type":"string","description":"Spend \\& Expense transactions approver type.","enum":["ADMIN","MANAGER","NEXT_MANAGER","BUDGET_OWNER","BOOKKEEPER","SPECIFIC_PERSON"]},"ApproverUserDto":{"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"fullName":{"type":"string","description":"User full name"}},"description":"User Approvers for a bill approval policy."},"AttachmentResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the attachment. The value begins with `att`."},"name":{"type":"string","description":"Attachment name"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"downloadLink":{"type":"string","description":"URL for downloading the attachment. Use the URL in a GET request to download the attachment."}},"description":"Attachments response."},"AuditTrailEntry":{"type":"object","properties":{"source":{"type":"string","description":"Set as `API` when the create or edit operation is completed with the API"},"type":{"type":"string","description":"Operation type (`CREATE` or `EDIT`)"},"createdTime":{"type":"string","description":"Created date and time of the audit trail record"},"user":{"allOf":[{"$ref":"#/components/schemas/AuditTrailUser"},{"description":"User information"}]},"field":{"allOf":[{"$ref":"#/components/schemas/AuditTrailField"},{"description":"Information about the field that is created or edited"}]}},"description":"Audit trail details response."},"AuditTrailField":{"type":"object","properties":{"name":{"type":"string","description":"Field name"},"value":{"allOf":[{"$ref":"#/components/schemas/AuditTrailFieldValue"},{"description":"Field value"}]}},"description":"Field whose change was captured in Audit Trail Entry."},"AuditTrailFieldValue":{"type":"object","properties":{"previous":{"type":"string","description":"Previous value"},"current":{"type":"string","description":"Current value"}},"description":"Previous and current values of the field as captured in Audit Trail Entry."},"AuditTrailUser":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"name":{"type":"string","description":"Name of the user"}},"description":"User whose action created Audit Trail Entry."},"AutoPayDto":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Set as `true` if the vendor auto-pay is enabled"},"bankAccountId":{"type":"string","description":"BILL-generated ID of the organization bank account used to set up vendor auto-pay. The value begins with `bac`."},"createdBy":{"type":"string","description":"BILL-generated ID of the user that set up vendor auto-pay. The value begins with `006`.\n\nYou can retrieve your user ID when you sign in with `/v3/login`."},"maxAmount":{"type":"number","description":"Maximum bill amount for which vendor auto-pay is enabled"},"daysBeforeDueDate":{"maximum":60,"minimum":0,"type":"integer","description":"Number of days before the bill payment due date.\n\nFor example, if `dueBeforeDueDate` is `3`, BILL submits the vendor payment 3 days before the bill payment due date.","format":"int32"}},"description":"The type Auto Pay dto. (CONTROLLER)"},"Balance":{"type":"object","properties":{"amount":{"type":"number","description":"Balance amount to be paid to the vendor"},"lastUpdatedDate":{"type":"string","description":"Balance amount last updated date and time","format":"date-time"}},"description":"The type Balance dto."},"BankAccountOwnerType":{"type":"string","description":"BankAccountOwnerType Enum.","enum":["BUSINESS","PERSONAL"]},"BankAccountStatus":{"type":"string","description":"Bank account status.","enum":["NOT_VERIFIED","VERIFIED","PENDING","BLOCKED","EXPIRED","INVALID","UNDEFINED"]},"BankAccountType":{"type":"string","description":"BankAccountType Enum.","enum":["CHECKING","SAVINGS"]},"BankAccountVerifyRequestDto":{"required":["depositAmount"],"type":"object","properties":{"depositAmount":{"maximum":0.99,"minimum":0.01,"type":"number","description":"Verify deposit amount.\n\nEnter an amount between `0.01` and `0.99`. In the sandbox environment, set this field as `0.50` to complete bank account verification."}},"description":"Verify a bank account","example":{"depositAmount":0.5}},"BankAccountVerifyResponseDto":{"type":"object","properties":{"verified":{"type":"boolean","description":"Set as `true` if the bank account is verified"}},"description":"Verify a bank account response."},"BankFundingOption":{"type":"object","description":"Bank Funding option.","allOf":[{"$ref":"#/components/schemas/FundingOption"},{"properties":{"id":{"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`."},"name":{"type":"string","description":"Bank name"},"fee":{"type":"number","description":"Estimated bank fees"}}}]},"BankInfo":{"type":"object","properties":{"swiftBIC":{"type":"string","description":"SWIFT code"},"branchName":{"type":"string","description":"Branch name"},"countryISO":{"type":"string","description":"Country ISO code"},"nationalBankCode":{"type":"string","description":"National bank code"},"institutionName":{"type":"string","description":"Bank institution name"},"primaryKey":{"type":"string","description":"Primary key"},"address":{"allOf":[{"$ref":"#/components/schemas/AddressDto"},{"description":"Bank address"}]}},"description":"Bank branch info for a Bank account."},"BdcError":{"required":["category","code","severity","timestamp"],"type":"object","properties":{"timestamp":{"type":"string","format":"date-time"},"code":{"type":"string"},"severity":{"$ref":"#/components/schemas/Severity"},"category":{"$ref":"#/components/schemas/Category"},"message":{"type":"string"},"params":{"type":"array","items":{"$ref":"#/components/schemas/Param"}},"detail":{"type":"string"},"help":{"type":"string"}}},"BillApprovalPolicyCreateRuleDto":{"type":"object","properties":{"key":{"allOf":[{"$ref":"#/components/schemas/RuleKeyCreateDto"},{"description":"Rule key.\n\n**Note**: Currently, only `BILL_AMOUNT` is supported with the API."}]},"op":{"allOf":[{"$ref":"#/components/schemas/RuleOperatorCreateDto"},{"description":"Rule operator.\n* `lt`: Less than\n* `gte`: Greater than or equal to\n* `in`: Any value in a list\n"}]},"values":{"type":"array","description":"Rule values","items":{"type":"string"}}},"description":"Rules for a bill approval policy."},"BillApprovalPolicyRequestDto":{"required":["approvers","policyName","rules"],"type":"object","properties":{"policyName":{"type":"string","description":"Bill approval policy name"},"rules":{"type":"array","description":"Bill approval policy rules. You can set multiple rules for a policy.\n\n**Note**: Policy rules are applied in the specified order.","items":{"$ref":"#/components/schemas/BillApprovalPolicyCreateRuleDto"}},"approvers":{"type":"array","description":"List of approvers. For each approver, set the BILL-generated ID of the user. The value begins with `006`.\n\n**Note**: BILL requests approvals in the specified order.","items":{"type":"string"}}},"description":"Create a bill approval policy","example":{"policyName":"Approval policy for bills >= $1000","rules":[{"key":"BILL_AMOUNT","op":"gte","values":["1000"]}],"approvers":["{{bill_approver_user_id}}"]}},"BillApprovalPolicyResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the approval policy. The value is in the `{organization_id}-{unique_id}` format."},"policyName":{"type":"string","description":"Bill approval policy name"},"status":{"type":"string","description":"Bill approval policy status"},"rules":{"type":"array","description":"Bill approval policy rules","items":{"$ref":"#/components/schemas/BillApprovalPolicyRuleResponseDto"}},"approvers":{"allOf":[{"$ref":"#/components/schemas/BillApproversDto"},{"description":"List of approvers"}]}},"description":"Response DTO for bill approval policy."},"BillApprovalPolicyRuleResponseDto":{"type":"object","properties":{"key":{"allOf":[{"$ref":"#/components/schemas/RuleKeyResponse"},{"description":"Rule key"}]},"op":{"allOf":[{"$ref":"#/components/schemas/BillApprovalRuleOperatorResponse"},{"description":"Rule operator"}]},"values":{"type":"array","description":"Rule values","items":{"$ref":"#/components/schemas/RuleValueDto"}}},"description":"Rules for a bill approval policy."},"BillApprovalRuleOperatorResponse":{"type":"string","description":"Response enum of operators supported for bill policy approval rules.","enum":["lt","gte","in","UNDEFINED"]},"BillApprovalStatusResponse":{"type":"string","description":"Approval status of a bill response.","enum":["UNASSIGNED","ASSIGNED","APPROVED","APPROVING","DENIED","UNDEFINED"]},"BillApproveDenyAction":{"type":"string","description":"Bill approval and denial actions.","enum":["APPROVE","DENY"]},"BillApproveDenyActionRequestDto":{"required":["action","billId"],"type":"object","properties":{"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"action":{"allOf":[{"$ref":"#/components/schemas/BillApproveDenyAction"},{"description":"Approve or deny the bill. Approved bills can be paid."}]},"comment":{"type":"string","description":"Reason of the decision"}},"description":"Bill approve/deny action request","example":"[\n  {\n    \"billId\": \"{{bill_id}}\",\n    \"action\": \"APPROVE\",\n    \"comment\": \"Approved for payment\"\n  }\n]"},"BillApproversDto":{"type":"object","properties":{"users":{"type":"array","description":"List of approver users","items":{"$ref":"#/components/schemas/ApproverUserDto"}},"groups":{"type":"array","description":"List of approval groups","items":{"$ref":"#/components/schemas/ApproverGroupDto"}}},"description":"Approvers for a bill approval policy."},"BillClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"itemId":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."}},"description":"DTO for Bill classifications."},"BillCreateLineItemDto":{"type":"object","properties":{"amount":{"type":"number","description":"Bill line item amount. For a bill in an international currency (not USD), this value is in the local currency.\n\nIf you set `amount`, `quantity`, and `price`, BILL uses the `amount` value as the bill line item total amount."},"quantity":{"type":"number","description":"Bill line item unit quantity"},"price":{"type":"number","description":"Bill line item unit price. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillLineItemClassificationsDto"},{"description":"General ledger classifications information for the bill line item"}]}},"description":"Line items that define a bill's overall amount."},"BillCreateRequestDto":{"required":["billLineItems","dueDate","invoice","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"maxLength":4000,"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"billLineItems":{"minItems":1,"type":"array","description":"Bill line items information","items":{"$ref":"#/components/schemas/BillCreateLineItemDto"}},"invoice":{"allOf":[{"$ref":"#/components/schemas/Invoice"},{"description":"Invoice information"}]},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill","items":{"$ref":"#/components/schemas/BillVendorCreditRequestItemDto"}},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"},"billApprovals":{"type":"boolean","description":"Set as `true` for BILL to add approvals information in the response.\n\nWhen you have approval policies set up for bills and a bill matches a policy, you see an additional `approvers` array of objects in the response. The array shows the list of individual users and/or user groups assigned as bill approvers. In addition, the array provides information about the status of the bill in the current approval flow.\n\n**Note**: When you set `billApprovals` as `true`, you must set the field as `true` if you want to update the bill (`PATCH /v3/bills/{billId}`) or replace the bill (`PUT /v3/bills/{billId}`)."}},"description":"Create a bill","example":{"vendorId":"{{vendor_id}}","dueDate":"2026-12-31","billLineItems":[{"amount":149,"description":"USB audio interface"},{"amount":79.99,"description":"Drum foot pedal"}],"invoice":{"invoiceNumber":"202601","invoiceDate":"2026-12-31"}}},"BillLineItemClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"employeeId":{"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`."},"jobId":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"itemId":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."}},"description":"DTO for Bill Line Item classifications."},"BillPay":{"required":["amount","billId"],"type":"object","properties":{"billId":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill to be paid. The value begins with `00n`."},"amount":{"minimum":0,"type":"number","description":"Payment amount"},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill payment","items":{"$ref":"#/components/schemas/PaymentVendorCreditRequestDto"}}},"description":"\\* Bill pays details in Payments API."},"BillPayment":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill payment. The value begins with `blp`."},"billId":{"type":"string","description":"BILL-generated ID of the bill to be paid. The value begins with `00n`."},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency."},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill payment","items":{"$ref":"#/components/schemas/PaymentVendorCreditResponseDto"}}},"description":"Details of bill payment."},"BillPaymentStatusDto":{"type":"string","description":"Payment Status of a bill.","enum":["PAID","UNPAID","PARTIALLY_PAID","SCHEDULED","IN_PROCESS","UNDEFINED"]},"BillReadResponseDto":{"required":["archived","id","recordStatus","vendorId","vendorName"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"archived":{"type":"boolean","description":"Set as `true` if the bill is archived"},"recordStatus":{"allOf":[{"$ref":"#/components/schemas/BillRecordStatus"},{"description":"Bill record status.\n\nWhen `recordStatus` is `ACTIVE`, `archived` is set as `false`. For any other `recordStatus` value, `archived` is set as `true`."}]},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"vendorName":{"type":"string","description":"Vendor name"},"fundingAmount":{"type":"number","description":"Bill total amount. This value is in USD."},"amount":{"type":"number","description":"Bill total amount. For a bill in an international currency (not USD), this value is in the local currency."},"paidAmount":{"type":"number","description":"Bill paid amount. This value is the sum of all cleared payments and any credit amount applied to the bill."},"dueAmount":{"type":"number","description":"Bill due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from the bill `amount`."},"scheduledAmount":{"type":"number","description":"Bill scheduled amount. The value is set as the vendor payment amount that is pending clearance."},"creditAmount":{"type":"number","description":"Credit amount applied to the bill"},"exchangeRate":{"type":"number","description":"Exchange rate for the bill amount in an international currency (not USD).\n\nThe BILL exchange rate changes periodically and a different rate may apply at the time of payment."},"description":{"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"invoice":{"allOf":[{"$ref":"#/components/schemas/Invoice"},{"description":"Invoice information"}]},"billLineItems":{"type":"array","description":"Bill line item information","items":{"$ref":"#/components/schemas/BillResponseLineItem"}},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"paymentStatus":{"allOf":[{"$ref":"#/components/schemas/BillPaymentStatusDto"},{"description":"Bill payment status."}]},"approvalStatus":{"allOf":[{"$ref":"#/components/schemas/BillApprovalStatusResponse"},{"description":"Bill approval status."}]},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the bill. The value begins with `006`."},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"approvers":{"type":"array","description":"Bill approvers information","items":{"$ref":"#/components/schemas/ApproverDto"}},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"}},"description":"Bills read response."},"BillReadWithoutApproversResponseDto":{"required":["archived","id","recordStatus","vendorId","vendorName"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"recordStatus":{"allOf":[{"$ref":"#/components/schemas/BillRecordStatus"},{"description":"Bill record status.\n\nWhen `recordStatus` is `ACTIVE`, `archived` is set as `false`. For any other `recordStatus` value, `archived` is set as `true`."}]},"archived":{"type":"boolean","description":"Set as `true` if the bill is archived"},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"vendorName":{"type":"string","description":"Vendor name"},"fundingAmount":{"type":"number","description":"Bill total amount. This value is in USD."},"amount":{"type":"number","description":"Bill total amount. For a bill in an international currency (not USD), this value is in the local currency."},"paidAmount":{"type":"number","description":"Bill paid amount. This value is the sum of all cleared payments and any credit amount applied to the bill."},"dueAmount":{"type":"number","description":"Bill due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from the bill `amount`."},"scheduledAmount":{"type":"number","description":"Bill scheduled amount. The value is set as the vendor payment amount that is pending clearance."},"creditAmount":{"type":"number","description":"Credit amount applied to the bill"},"exchangeRate":{"type":"number","description":"Exchange rate for the bill amount in an international currency (not USD).\n\nThe BILL exchange rate changes periodically and a different rate may apply at the time of payment."},"description":{"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"invoice":{"allOf":[{"$ref":"#/components/schemas/Invoice"},{"description":"Invoice information"}]},"billLineItems":{"type":"array","description":"Bill line item information","items":{"$ref":"#/components/schemas/BillResponseLineItem"}},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"paymentStatus":{"allOf":[{"$ref":"#/components/schemas/BillPaymentStatusDto"},{"description":"Bill payment status."}]},"approvalStatus":{"allOf":[{"$ref":"#/components/schemas/BillApprovalStatusResponse"},{"description":"Bill approval status."}]},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the bill. The value begins with `006`."},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"}},"description":"Bills read response without approvers."},"BillRecordStatus":{"type":"string","description":"Record status enum for bills.","enum":["ACTIVE","INACTIVE","DRAFT","DRAFT_DELETED","UNDEFINED"]},"BillReplaceLineItemDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill line item. The value begins with `bli`."},"amount":{"type":"number","description":"Bill line item amount. For a bill in an international currency (not USD), this value is in the local currency.\n\nIf you set `amount`, `quantity`, and `price`, BILL uses the `amount` value as the bill line item total amount."},"quantity":{"type":"number","description":"Bill line item unit quantity"},"price":{"type":"number","description":"Bill line item unit price. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillLineItemClassificationsDto"},{"description":"General ledger classifications information for the bill line item"}]}},"description":"Line items that define a bill's overall amount."},"BillReplaceRequestDto":{"required":["billLineItems","dueDate","invoice","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"maxLength":4000,"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"billLineItems":{"minItems":1,"type":"array","description":"Bill line items information","items":{"$ref":"#/components/schemas/BillReplaceLineItemDto"}},"invoice":{"allOf":[{"$ref":"#/components/schemas/Invoice"},{"description":"Invoice information"}]},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill","items":{"$ref":"#/components/schemas/BillVendorCreditRequestItemDto"}},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"},"billApprovals":{"type":"boolean","description":"Set as `true` for BILL to add approvals information in the response.\n\nWhen you have approval policies set up for bills and a bill matches a policy, you see an additional `approvers` array of objects in the response. The array shows the list of individual users and/or user groups assigned as bill approvers. In addition, the array provides information about the status of the bill in the current approval flow.\n\n**Note**: When you set `billApprovals` as `true`, you must set the field as `true` if you want to update the bill with `PATCH /v3/bills/{billId}`."}},"description":"Replace a bill (line item added)","example":{"vendorId":"{{vendor_id}}","dueDate":"2026-12-31","invoice":{"invoiceNumber":"202601","invoiceDate":"2026-12-31"},"billLineItems":[{"amount":29.99,"description":"Premium drummer gloves"},{"id":"{{bill_line_item_id01}}","amount":149,"description":"USB audio interface"},{"id":"{{bill_line_item_id02}}","amount":79.99,"description":"Drum foot pedal"}]}},"BillResponseDto":{"required":["archived","id","vendorId"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"archived":{"type":"boolean","description":"Set as `true` if the bill is archived"},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"fundingAmount":{"type":"number","description":"Bill total amount. This value is in USD."},"amount":{"type":"number","description":"Bill total amount. For a bill in an international currency (not USD), this value is in the local currency."},"paidAmount":{"type":"number","description":"Bill paid amount. This value is the sum of all cleared payments and any credit amount applied to the bill."},"dueAmount":{"type":"number","description":"Bill due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from the bill `amount`."},"scheduledAmount":{"type":"number","description":"Bill scheduled amount. The value is set as the vendor payment amount that is pending clearance."},"creditAmount":{"type":"number","description":"Credit amount applied to the bill"},"exchangeRate":{"type":"number","description":"Exchange rate for the bill amount in an international currency (not USD).\n\nThe BILL exchange rate changes periodically and a different rate may apply at the time of payment."},"description":{"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"invoice":{"allOf":[{"$ref":"#/components/schemas/Invoice"},{"description":"Invoice information"}]},"billLineItems":{"type":"array","description":"Bill line item information","items":{"$ref":"#/components/schemas/BillResponseLineItem"}},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"paymentStatus":{"allOf":[{"$ref":"#/components/schemas/BillPaymentStatusDto"},{"description":"Bill payment status."}]},"approvalStatus":{"allOf":[{"$ref":"#/components/schemas/BillApprovalStatusResponse"},{"description":"Bill approval status."}]},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the bill. The value begins with `006`."},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"},"approvers":{"type":"array","description":"Bill approvers information","items":{"$ref":"#/components/schemas/ApproverDto"}}},"description":"Bills response."},"BillResponseLineItem":{"required":["amount"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill line item. The value begins with `bli`."},"amount":{"type":"number","description":"Bill line item amount. For a bill in an international currency (not USD), this value is in the local currency.\n\nIf you set `amount`, `quantity`, and `price`, BILL uses the `amount` value as the bill line item total amount."},"quantity":{"type":"number","description":"Bill line item unit quantity"},"price":{"type":"number","description":"Bill line item unit price. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"type":"string","description":"Bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillLineItemClassificationsDto"},{"description":"General ledger classifications information for the bill line item"}]}},"description":"Line items that define a bill's overall amount."},"BillUpdateInvoiceRequestDto":{"type":"object","properties":{"invoiceNumber":{"maxLength":100,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or bill due date."},"invoiceDate":{"type":"string","description":"Date when the invoice is sent. This value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Invoice linked to a bill."},"BillUpdateLineItemDto":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill line item. The value begins with `bli`."},"amount":{"type":"number","description":"Bill line item amount. For a bill in an international currency (not USD), this value is in the local currency.\n\nIf you set `amount`, `quantity`, and `price`, BILL uses the `amount` value as the bill line item total amount."},"quantity":{"type":"number","description":"Bill line item unit quantity"},"price":{"type":"number","description":"Bill line item unit price. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillLineItemClassificationsDto"},{"description":"General ledger classifications information for the bill line item"}]}},"description":"Line items that define a bill's overall amount."},"BillUpdateRequestDto":{"type":"object","properties":{"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"maxLength":4000,"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"billLineItems":{"type":"array","description":"Bill line items information","items":{"$ref":"#/components/schemas/BillUpdateLineItemDto"}},"invoice":{"allOf":[{"$ref":"#/components/schemas/BillUpdateInvoiceRequestDto"},{"description":"Invoice information"}]},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill","items":{"$ref":"#/components/schemas/BillVendorCreditRequestItemDto"}},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"},"billApprovals":{"type":"boolean","description":"Set as `true` for BILL to add approvals information in the response.\n\nWhen you have approval policies set up for bills and a bill matches a policy, you see an additional `approvers` array of objects in the response. The array shows the list of individual users and/or user groups assigned as bill approvers. In addition, the array provides information about the status of the bill in the current approval flow.\n\n**Note**: When you set `billApprovals` as `true`, you must set the field as `true` if you want to replace the bill with `PUT /v3/bills/{billId}`."},"policyRematch":{"type":"boolean","description":"Rule for whether BILL re-matches the updated bill against your approval policies. The default value is `false`.\n* `true`: Rematch the updated bill. BILL removes any previously assigned approvers that are no longer valid, and then assigns any new approvers that match your policy rules.\n* `false`: Do not rematch the updated bill. BILL assigns any new approvers that match your policy rules. Any previously assigned approvers are not removed."}},"description":"Update a bill","example":{"billLineItems":[{"id":"{{bill_line_item_id01}}","amount":179,"description":"USB audio interface (amount updated)"}]}},"BillUserApprovalsResponseDto":{"required":["billId","vendorId"],"type":"object","properties":{"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"amount":{"type":"number","description":"Bill amount. This value is in USD."},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Bill User Approvals Response Dto."},"BillVendorCreditRequestItemDto":{"required":["amount","id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit applied to the bill payment. The value begins with `vcr`."},"amount":{"minimum":0,"type":"number","description":"Credit amount"}},"description":"API level DTO for apply vendor credit to bill request item."},"BillWithoutApproversResponseDto":{"required":["archived","id","vendorId"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"archived":{"type":"boolean","description":"Set as `true` if the bill is archived"},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"fundingAmount":{"type":"number","description":"Bill total amount. This value is in USD."},"amount":{"type":"number","description":"Bill total amount. For a bill in an international currency (not USD), this value is in the local currency."},"paidAmount":{"type":"number","description":"Bill paid amount. This value is the sum of all cleared payments and any credit amount applied to the bill."},"dueAmount":{"type":"number","description":"Bill due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from the bill `amount`."},"scheduledAmount":{"type":"number","description":"Bill scheduled amount. The value is set as the vendor payment amount that is pending clearance."},"creditAmount":{"type":"number","description":"Credit amount applied to the bill"},"exchangeRate":{"type":"number","description":"Exchange rate for the bill amount in an international currency (not USD).\n\nThe BILL exchange rate changes periodically and a different rate may apply at the time of payment."},"description":{"type":"string","description":"Bill description"},"dueDate":{"type":"string","description":"Bill due date. The value is in the `yyyy-MM-dd` format.","format":"date"},"invoice":{"allOf":[{"$ref":"#/components/schemas/Invoice"},{"description":"Invoice information"}]},"billLineItems":{"type":"array","description":"Bill line item information","items":{"$ref":"#/components/schemas/BillResponseLineItem"}},"payFromChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bill payment. The value begins with `0ca`."},"paymentStatus":{"allOf":[{"$ref":"#/components/schemas/BillPaymentStatusDto"},{"description":"Bill payment status."}]},"approvalStatus":{"allOf":[{"$ref":"#/components/schemas/BillApprovalStatusResponse"},{"description":"Bill approval status."}]},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the bill. The value begins with `006`."},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"classifications":{"allOf":[{"$ref":"#/components/schemas/BillClassificationsDto"},{"description":"General ledger classifications information for the bill"}]},"purchaseOrderNumber":{"type":"string","description":"Purchase order number linked with the bill"}},"description":"Bills response without approvers."},"BillingPeriodDto":{"type":"object","properties":{"startDate":{"type":"string","description":"Billing period start date","format":"date"},"endDate":{"type":"string","description":"Billing period end date","format":"date"}},"description":"BillingPeriod response Dto."},"BillingStatementDetailLineItemDto":{"type":"object","properties":{"quantity":{"type":"integer","description":"Billing invoice line item quantity","format":"int32"},"description":{"type":"string","description":"Billing invoice line item description"},"type":{"type":"string","description":"Billing invoice line item type"},"amount":{"type":"number","description":"Billing invoice line item amount"}},"description":"BillingStatementDetailLineItem response Dto."},"BillingStatementDetailResponseDto":{"required":["amount","billingPeriod","description","downloadLink","id","invoiceDate","invoiceNumber","paymentStatus"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the billing statement. The value begins with `0S0`."},"invoiceNumber":{"type":"string","description":"Billing invoice number"},"invoiceDate":{"type":"string","description":"Billing invoice date","format":"date"},"description":{"type":"string","description":"Billing invoice description"},"billingPeriod":{"allOf":[{"$ref":"#/components/schemas/BillingPeriodDto"},{"description":"Billing period information"}]},"paymentStatus":{"allOf":[{"$ref":"#/components/schemas/BillingStatementPaymentStatus"},{"description":"Billing invoice payment status.\n\nWhen a statement is generated, the `paymentStatus` is set as `UNPAID`. BILL initiates the payment on the same day or on the next business day, and then `paymentStatus` is set as `PAID`."}]},"paymentDate":{"type":"string","description":"Billing invoice payment date","format":"date"},"amount":{"type":"number","description":"Billing invoice amount"},"statementDetails":{"type":"array","description":"Statement details. This includes billing invoice line item information.","items":{"$ref":"#/components/schemas/BillingStatementDetailLineItemDto"}},"downloadLink":{"allOf":[{"$ref":"#/components/schemas/DownloadLinkDto"},{"description":"Billing statement download link information"}]}},"description":"BillingStatementDetail response Dto."},"BillingStatementPaymentStatus":{"type":"string","description":"Enum representing the payment status of a billing statement.","enum":["UNPAID","PAID","PENDING","FAILED","VOIDED","UNDEFINED"]},"BillingStatementResponseDto":{"required":["amount","billingPeriod","description","id","invoiceDate","invoiceNumber","paymentStatus"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the billing statement. The value begins with `0S0`."},"invoiceNumber":{"type":"string","description":"Billing invoice number"},"invoiceDate":{"type":"string","description":"Billing invoice date","format":"date"},"description":{"type":"string","description":"Billing invoice description"},"billingPeriod":{"allOf":[{"$ref":"#/components/schemas/BillingPeriodDto"},{"description":"Billing period information"}]},"paymentStatus":{"allOf":[{"$ref":"#/components/schemas/BillingStatementPaymentStatus"},{"description":"Billing invoice payment status.\n\nWhen a statement is generated, the `paymentStatus` is set as `UNPAID`. BILL initiates the payment on the same day or on the next business day, and then `paymentStatus` is set as `PAID`."}]},"paymentDate":{"type":"string","description":"Billing invoice payment date","format":"date"},"amount":{"type":"number","description":"Billing invoice amount"}},"description":"BillingStatement response Dto."},"BudgetCreateDto":{"required":["name","owners","recurringInterval"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Budget name"},"description":{"type":"string","description":"Budget description"},"owners":{"minItems":1,"type":"array","description":"List of BILL-generated user IDs or UUIDs of budget owners. You must specify at least one budget owner.","items":{"type":"string"}},"members":{"type":"array","description":"List of BILL-generated user IDs or UUIDs of budget members","items":{"type":"string"}},"observers":{"type":"array","description":"List of BILL-generated user IDs or UUIDs of budget observers","items":{"type":"string"}},"expirationDate":{"type":"string","description":"Budget expiration date. This value is in the `yyyy-MM-dd` format.","format":"date","nullable":true},"recurringInterval":{"allOf":[{"$ref":"#/components/schemas/PeriodIntervalType"},{"description":"Interval after which the budget is reset. By default, BILL uses the timezone of the company's billing address to reset a budget at 12 AM.\n* `NONE`: Never\n* `DAILY`: Each day at 12 AM\n* `WEEKLY`: Each Monday at 12 AM\n* `MONTHLY`: On the 1st of every month at 12 AM\n* `QUARTERLY`: Once every 3 months, on the 1st of the month at 12 AM. Set the first month with `recurMonth`.\n* `YEARLY`: Once every year, on the 1st of the month at 12 AM. Set the month with `recurMonth`."}]},"recurMonth":{"maximum":12,"minimum":1,"type":"integer","description":"The month in which the budget will recur. Set this field only when `recurringInterval` is set as `QUARTERLY` or `YEARLY`. The default value is the current month.","format":"int64"},"timezone":{"type":"string","description":"Timezone in which the budget funds are reset. The default value is the timezone of the company's billing address.\n\nSet this field in the `US/{time_zone}` format. For example, `US/Pacific` or `US/Mountain`."},"autoAddUsers":{"type":"boolean","description":"Set as `true` to automatically add all new users to this budget"},"receiptRequired":{"type":"boolean","description":"Set as `true` if a receipt is required for transactions in the budget"},"maxTxSize":{"type":"number","description":"Maximum transaction size in the budget. Any single transaction for an amount greater than `maxTxSize` will be declined."},"carryOver":{"type":"boolean","description":"Set as `true` for any budget funds assigned to users and vendor cards to carry over from one budget period to the next. The budget period is set with `recurringInterval`."},"parentBudgetId":{"type":"string","description":"BILL-generated ID or UUID of the parent budget. Set this field if this budget is a child budget."},"budgetGroup":{"type":"boolean","description":"Set as `true` if this budget is a budget group. A budget group can be set as a parent of other budgets."},"limitlessOverspend":{"type":"boolean","description":"Set as `true` for enabling spend amounts over the budget limit.\n\n**Note**: You cannot set this field as `true` for budgets with `recurringInterval` set as\n`DAILY` or `WEEKLY`."},"limit":{"type":"number","description":"Spend limit for the initial budget period.\n\n**Note**: This field is required unless `limitlessOverspend` is set as `true`."},"limitlessGoal":{"type":"number","description":"Spend goal for a limitless budget.\n\n**Note**: You can set this field when `limitlessOverspend` is set as `true`."},"recurringLimit":{"type":"number","description":"Spend limit for all future budget periods.\n\n**Note**: This field is required when `recurringInterval` is set as any value other than `NONE`."},"overspendBuffer":{"type":"number","description":"Spend amount allowed above the budget limit before transactions are declined.\n\n**Note**: You cannot set this field when `limitlessOverspend` is set as `true` or for budgets with `recurringInterval` as `DAILY` or `WEEKLY`."},"shareFunds":{"allOf":[{"$ref":"#/components/schemas/EditBudgetShareFundsType"},{"description":"Rule for how the budget funds are shared with budget members. The default value is `SHARE_MANUALLY`."}]}},"description":"Create a budget","example":{"name":"Happy Music Supplies monthly spending budget","owners":["{{se_user_uuid}}"],"recurringInterval":"MONTHLY","limit":200,"recurringLimit":200}},"BudgetMemberBulkUpsertDto":{"required":["userId"],"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID or UUID of the user"},"limit":{"type":"number","description":"Funds assigned to the user in the current budget period.\n\n**Note**: This field is required when `shareBudgetFunds` is set as `false`."},"recurringLimit":{"type":"number","description":"Funds assigned to the user in all future budget periods.\n\n**Note**: This field is required when `shareBudgetFunds` is set as `false`."},"role":{"allOf":[{"$ref":"#/components/schemas/BudgetRoleType"},{"description":"Budget user role"}]},"shareBudgetFunds":{"type":"boolean","description":"Set as `true` to share all the budget funds with the user.\n\n**Note**: You cannot set this field as `true` when either `limit` or `recurringLimit` is set."}},"description":"Budget member bulk upsert member request dto."},"BudgetMemberBulkUpsertRequestDto":{"required":["members"],"type":"object","properties":{"members":{"minItems":1,"type":"array","description":"List of budget member updates","items":{"$ref":"#/components/schemas/BudgetMemberBulkUpsertDto"}}},"description":"Update multiple budget members","example":{"members":[{"userId":"{{se_user_uuid}}","limit":200,"recurringLimit":200,"role":"OWNER","shareBudgetFunds":true}]}},"BudgetMemberResponseDto":{"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID of the user","deprecated":true},"userUuid":{"type":"string","description":"BILL-generated UUID of the user"},"spent":{"type":"number","description":"Total amount spent by the user in the current budget period"},"limit":{"type":"number","description":"Funds assigned to the user in the current budget period"},"recurringLimit":{"type":"number","description":"Funds assigned to the user in all future budget periods"},"recurring":{"type":"boolean","description":"Set as `true` if the user receives the `recurringLimit` funds in all future budget periods."},"budgetRole":{"allOf":[{"$ref":"#/components/schemas/BudgetRoleType"},{"description":"Budget user role"}]},"name":{"type":"string","description":"User display name"},"retired":{"type":"boolean","description":"Set as `true` if the budget member is retired"},"shareBudgetFunds":{"type":"boolean","description":"Set as `true` if all the budget funds are shared with the user"}},"description":"Budget members response."},"BudgetMemberUpsertRequestDto":{"type":"object","properties":{"limit":{"type":"number","description":"Funds assigned to the user in the current budget period.\n\n**Note**: This field is required with `shareBudgetFunds` is set as `false`."},"recurringLimit":{"type":"number","description":"Funds assigned to the user in all future budget periods.\n\n**Note**: This field is required when `shareBudgetFunds` is set as `false`."},"role":{"allOf":[{"$ref":"#/components/schemas/BudgetRoleType"},{"description":"Budget user role"}]},"shareBudgetFunds":{"type":"boolean","description":"Set as `true` to share all the budget funds with the user.\n\n**Note**: You cannot set this field as `true` when either `limit` or `recurringLimit` is set."}},"description":"Add a budget member","example":{"limit":"50","recurringLimit":"100"}},"BudgetPeriodDto":{"type":"object","properties":{"startDate":{"type":"string","description":"Budget period start date","format":"date"},"endDate":{"type":"string","description":"Budget period end date","format":"date"},"limit":{"type":"number","description":"Budget period spend limit"},"overspendBuffer":{"type":"number","description":"Spend amount allowed above the budget limit before transactions are declined"},"assigned":{"type":"number","description":"Total amount assigned to users and vendor cards"},"spent":{"allOf":[{"$ref":"#/components/schemas/BudgetPeriodSpentAmountsDto"},{"description":"Budget period amount spent information"}]}},"description":"Class representing a budget's current budget period."},"BudgetPeriodSpentAmountsDto":{"type":"object","properties":{"cleared":{"type":"number","description":"Sum of cleared transactions"},"pending":{"type":"number","description":"Sum of pending transactions"},"total":{"type":"number","description":"Sum of all transactions (`cleared + pending`)"}},"description":"Class representing spent amounts for a budget period."},"BudgetResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the budget","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the budget"},"name":{"type":"string","description":"Budget name"},"description":{"type":"string","description":"Budget description"},"retired":{"type":"boolean","description":"Set as `true` if the budget is retired"},"startDate":{"type":"string","description":"Budget start date","format":"date"},"expirationDate":{"type":"string","description":"Budget expiration date","format":"date"},"recurringInterval":{"allOf":[{"$ref":"#/components/schemas/PeriodIntervalType"},{"description":"Interval after which the budget is reset. By default, BILL uses the timezone of the company's billing address to reset a budget at 12 AM.\n* `NONE`: Never\n* `DAILY`: Each day at 12 AM\n* `WEEKLY`: Each Monday at 12 AM\n* `MONTHLY`: On the 1st of every month at 12 AM\n* `QUARTERLY`: Once every 3 months, on the 1st of the month at 12 AM. Set the first month with `recurMonth`.\n* `YEARLY`: Once every year, on the 1st of the month at 12 AM. Set the month with `recurMonth`."}]},"timezone":{"type":"string","description":"Timezone in which the budget funds are reset"},"autoAddUsers":{"type":"boolean","description":"Set as `true` to automatically add all new users to this budget"},"receiptRequired":{"type":"boolean","description":"Set as `true` if a receipt is required for transactions in the budget"},"maxTxSize":{"type":"number","description":"Maximum transaction size in the budget. Any single transaction for an amount greater than `maxTxSize` will be declined."},"carryOver":{"type":"boolean","description":"Set as `true` for any budget funds assigned to users and vendor cards to carry over from one budget period to the next. The budget period is set with `recurringInterval`."},"default":{"type":"boolean","description":"Set as `true` if the current budget is set as the default budget for the company"},"parentBudgetId":{"type":"string","description":"BILL-generated ID of the parent budget","deprecated":true},"parentBudgetUuid":{"type":"string","description":"BILL-generated UUID of the parent budget"},"budgetGroup":{"type":"boolean","description":"Set as `true` if this budget is a budget group. A budget group can be set as a parent of other budgets."},"shareFunds":{"allOf":[{"$ref":"#/components/schemas/BudgetShareFundsType"},{"description":"Rule for how the budget funds are shared with budget members. The default value is `SHARE_MANUALLY`."}]},"recurringLimit":{"type":"number","description":"Spend limit for all future budget periods"},"limitlessOverspend":{"type":"boolean","description":"Set as `true` for enabling spend amounts over the budget limit"},"limitlessGoal":{"type":"number","description":"Spend goal for a limitless budget"},"currentPeriod":{"allOf":[{"$ref":"#/components/schemas/BudgetPeriodDto"},{"description":"Current budget period information"}]}},"description":"Budgets response."},"BudgetRoleType":{"type":"string","description":"Options for setting a user's role within a budget. DELETE removes the user from the budget.","enum":["MEMBER","OWNER","OBSERVER"]},"BudgetShareFundsType":{"type":"string","description":"BudgetShareFundsType.","enum":["DO_NOT_SHARE","SHARE_MANUALLY","SHARE_WITH_ALL_OWNERS","SHARE_WITH_ALL_MEMBERS","SHARE_ALL_OWNERS_BUT_MEMBERS_MANUALLY"]},"BudgetUpdateDto":{"type":"object","properties":{"name":{"type":"string","description":"Budget name"},"description":{"type":"string","description":"Budget description"},"expirationDate":{"type":"string","description":"Budget expiration date. This value is in the `yyyy-MM-dd` format.","format":"date","nullable":true},"recurringInterval":{"allOf":[{"$ref":"#/components/schemas/PeriodIntervalType"},{"description":"Interval after which the budget is reset. By default, BILL uses the timezone of the company's billing address to reset a budget at 12 AM.\n* `NONE`: Never\n* `DAILY`: Each day at 12 AM\n* `WEEKLY`: Each Monday at 12 AM\n* `MONTHLY`: On the 1st of every month at 12 AM\n* `QUARTERLY`: Once every 3 months, on the 1st of the month at 12 AM. Set the first month with `recurMonth`.\n* `YEARLY`: Once every year, on the 1st of the month at 12 AM. Set the month with `recurMonth`."}]},"recurMonth":{"maximum":12,"minimum":1,"type":"integer","description":"The month in which the budget will recur. Set this field only when `recurringInterval` is set as `QUARTERLY` or `YEARLY`. The default value is the current month.","format":"int64"},"timezone":{"type":"string","description":"Timezone in which the budget funds are reset. The default value is the timezone of the company's billing address.\n\nSet this field in the `US/{time_zone}` format. For example, `US/Pacific` or `US/Mountain`."},"autoAddUsers":{"type":"boolean","description":"Set as `true` to automatically add all new users to this budget"},"receiptRequired":{"type":"boolean","description":"Set as `true` if a receipt is required for transactions in the budget"},"maxTxSize":{"type":"number","description":"Maximum transaction size in the budget. Any single transaction for an amount greater than `maxTxSize` will be declined."},"carryOver":{"type":"boolean","description":"Set as `true` for any budget funds assigned to users and vendor cards to carry over from one budget period to the next. The budget period is set with `recurringInterval`."},"limitlessOverspend":{"type":"boolean","description":"Set as `true` for enabling spend amounts over the budget limit.\n\n**Note**: You cannot set this field as `true` for budgets with `recurringInterval` set as\n`DAILY` or `WEEKLY`."},"limit":{"type":"number","description":"Spend limit for the initial budget period.\n\n**Note**: This field is required unless `limitlessOverspend` is set as `true`."},"limitlessGoal":{"type":"number","description":"Spend goal for a limitless budget.\n\n**Note**: You can set this field when `limitlessOverspend` is set as `true`."},"recurringLimit":{"type":"number","description":"Spend limit for all future budget periods.\n\n**Note**: This field is required when `recurringInterval` is set as any value other than `NONE`."},"overspendBuffer":{"type":"number","description":"Spend amount allowed above the budget limit before transactions are declined.\n\n**Note**: You cannot set this field when `limitlessOverspend` is set as `true` or for budgets with `recurringInterval` as `DAILY` or `WEEKLY`."},"shareFunds":{"allOf":[{"$ref":"#/components/schemas/EditBudgetShareFundsType"},{"description":"Rule for how the budget funds are shared with budget members. The default value is `SHARE_MANUALLY`."}]}},"description":"Update a budget (limit updated)","example":{"limit":300}},"BulkPaymentRequestDto":{"required":["fundingAccount"],"type":"object","properties":{"vendorId":{"type":"string","description":"BILL-generated ID of the vendor to be paid. The value begins with `009`.\n* If `vendorId` is set, it must match each bill’s vendor ID.\n* Do not set `vendorId` when you are paying multiple vendors with one request."},"description":{"maxLength":70,"type":"string","description":"Bill payment description. This value is included in the check memo or in the bank descriptor for electronic payments."},"processDate":{"type":"string","description":"Payment process date in the `yyyy-MM-dd` format. On this date, BILL starts processing the payment and starts withdrawing funds from the sender's funding account.\n\nWhen the vendor bill currency is not `USD` (For example, `EUR`), the payment `processDate` for this vendor must be the next US business day.\n\nIf the funding account `type` is set as `WALLET` or `AP_CARD`, `processDate` is required. For other funding account types, if `processDate` is not set, the date is automatically set as the next US business day.\n\n**Note**: When you add a vendor bank account in the production environment, BILL requires 2 business days to complete a one-time verification of the bank account. To pay such a vendor, you must set a `processDate` that is 2 business days from the current date.","format":"date"},"exchangeRateBatchId":{"type":"integer","description":"Exchange rate batch ID. This field is required for paying international vendors when the vendor bill currency is not `USD`.\n\nGet the current BILL exchange rate and exchange rate batch ID with `GET /v3/payments/exchange-rate` or `POST /v3/payments/exchange-rate` (for multiple international vendors).\n","format":"int32"},"fundingAccount":{"allOf":[{"$ref":"#/components/schemas/FundingAccountRequest"},{"description":"Payment funding information"}]},"payments":{"type":"array","items":{"$ref":"#/components/schemas/BillPay"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/BulkProcessingOptions"},{"description":"Payment processing options"}]},"transactionNumber":{"maxLength":50,"type":"string","description":"Payment transaction reference used as an external identifier.\n\nYou can set this field as a unique alphanumeric value for your system to track the payment transaction. The value must be 50 characters or fewer. If you do not set `transactionNumber`, BILL sets this field as a unique alphanumeric payment identification value."},"cardFundingPurpose":{"type":"string","description":"Card funding purpose. This field is required for the `CARD_ACCOUNT` funding account `type` if BILL cannot identify the vendor industry.\n\nSee [Get card funding purpose](https://developer.bill.com/reference/listcardfundingpurposes) for more information."}},"description":"Create a bulk payment","example":{"processDate":"2026-12-16","fundingAccount":{"type":"BANK_ACCOUNT","id":"{{org_bank_account_id}}"},"payments":[{"billId":"{{bill_id01}}","amount":228.99},{"billId":"{{bill_id02}}","amount":142}]}},"BulkPaymentResponseDto":{"type":"object","properties":{"payments":{"type":"array","description":"List of payments","items":{"$ref":"#/components/schemas/PaymentResponseDto"}}},"description":"Bulk payments response."},"BulkProcessingOptions":{"type":"object","properties":{"requestPayFaster":{"type":"boolean","description":"Set as `true` to use BILL Pay Faster. This field is required if `requestCheckDeliveryType` is set.\n\n  See [Payments](https://developer.bill.com/docs/ap-payments)   in the Guides section for information about BILL Pay Faster payments."},"requestCheckDeliveryType":{"allOf":[{"$ref":"#/components/schemas/CheckDeliveryTypeRequest"},{"description":"BILL Pay Faster payment delivery type. The `RTP_DELIVERY` option is not available for vendor payments by check."}]}},"description":"User provided options for processing the payments request."},"BulkUpdateTxCustomFieldRequestDto":{"required":["customFields"],"type":"object","properties":{"customFields":{"minItems":1,"type":"array","description":"List of custom field and value updates","items":{"$ref":"#/components/schemas/UpdateCustomFieldDto"}}},"description":"Transaction Custom Fields update request dto."},"BulkVendorResponseDto":{"type":"object","properties":{"vendors":{"type":"array","description":"List of vendors","items":{"$ref":"#/components/schemas/VendorResponseDto"}}},"description":"Bulk vendor response."},"BusinessCategoryRequest":{"type":"string","description":"Business Category.","enum":["CORPORATION","LLC","NON_PROFIT","GOVERNMENT","SOLE_PROPRIETOR","INDIVIDUAL","TRUST","UNKNOWN"]},"BusinessCategoryResponse":{"type":"string","description":"Business Category.","enum":["UNDEFINED","CORPORATION","LLC","NON_PROFIT","GOVERNMENT","SOLE_PROPRIETOR","INDIVIDUAL","TRUST","UNKNOWN"]},"CardAccountDefault":{"type":"object","properties":{"payables":{"type":"boolean","description":"Set as `true` if the card account is set as default for Accounts Payable operations"},"receivables":{"type":"boolean","description":"Set as `true` if the card account is set as default for Accounts Receivable operations"},"funding":{"type":"boolean","description":"Set as `true` if the card account is set as default for funding"},"disbursement":{"type":"boolean","description":"Set as `true` if the card account is set as default for disbursement"}},"description":"Card Account Response Default."},"CardAccountExpiration":{"type":"object","properties":{"year":{"type":"string","description":"Card expiration year"},"month":{"type":"string","description":"Card expiration month"}},"description":"Card Account response Expiration."},"CardAccountResponseDto":{"required":["archived","id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the card account. The value begins with `cat`."},"archived":{"type":"boolean","description":"Set as `true` if the card account is archived"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the card account. The value begins with `006`."},"issuingBankName":{"type":"string","description":"Card issuing bank name"},"nameOnAccount":{"type":"string","description":"Full name on card account"},"brand":{"type":"string","description":"Card brand"},"type":{"allOf":[{"$ref":"#/components/schemas/CardAccountType"},{"description":"Card type."}]},"status":{"allOf":[{"$ref":"#/components/schemas/CardAccountStatus"},{"description":"Card account status."}]},"last4":{"type":"string","description":"Card last four digits"},"expiration":{"allOf":[{"$ref":"#/components/schemas/CardAccountExpiration"},{"description":"Card expiration information"}]},"default":{"allOf":[{"$ref":"#/components/schemas/CardAccountDefault"},{"description":"Card payment defaults for BILL operations"}]}},"description":"Card Account response DTO."},"CardAccountStatus":{"type":"string","description":"Card Account response status.","enum":["NOT_VERIFIED","VERIFIED","PENDING","BLOCKED","EXPIRED","INVALID","UNDEFINED"]},"CardAccountType":{"type":"string","description":"Card Account response type.","enum":["UNDEFINED","CREDIT_CARD","DEBIT_CARD","PREPAID_CARD","UNKNOWN"]},"CardCurrentPeriodDto":{"type":"object","properties":{"limit":{"type":"number","description":"Card spend limit for the current budget period"},"spent":{"type":"number","description":"Amount spent with the card for the current budget period"}},"description":"DTO representing card values relevant to the current budget period."},"CardFundingOption":{"type":"object","description":"Card Funding option.","allOf":[{"$ref":"#/components/schemas/FundingOption"},{"properties":{"id":{"type":"string","description":"BILL-generated ID of the card account. The value begins with `cat`."},"name":{"type":"string","description":"Card account name"},"brand":{"type":"string","description":"Card brand"},"feeInfo":{"allOf":[{"$ref":"#/components/schemas/CardFundingOptionFeeInfo"},{"description":"Estimated card account fees"}]}}}]},"CardFundingOptionFeeInfo":{"type":"object","properties":{"amount":{"type":"number","description":"Card fees amount"},"rate":{"type":"number","description":"Card fees rate"}},"description":"Card funding option fee info."},"CardPanTokenResponseDto":{"type":"object","properties":{"token":{"type":"string","description":"PAN JWT token"}},"description":"Card PAN token response."},"CardPermission":{"type":"object","properties":{"payByCard":{"type":"boolean","description":"This field is set as `true` if you can pay by card"},"fundingEnabled":{"type":"boolean","description":"This field is set as `true` if you can add a card account as a payment method"},"amexAllowed":{"type":"boolean","description":"This field is set as `true` if you can pay with an AMEX credit card"}},"description":"Funding Account Card Permission response."},"CardResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the card","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the card"},"name":{"type":"string","description":"Card name"},"userId":{"type":"string","description":"BILL-generated ID of the user linked with the card","deprecated":true},"userUuid":{"type":"string","description":"BILL-generated UUID of the user linked with the card"},"budgetId":{"type":"string","description":"BILL-generated ID of the budget linked with the card","deprecated":true},"budgetUuid":{"type":"string","description":"BILL-generated UUID of the budget linked with the card"},"lastFour":{"type":"string","description":"Last four digits of the card number"},"validThru":{"type":"string","description":"BILL-generated card expiration date. The value is in the `MM/YY` format.\n\n**Note**: Use the `validThru` value as the expiration date in a card payment. Do not use the `expirationDate` value for this operation."},"expirationDate":{"type":"string","description":"User-generated card expiration date. This value is in the `yyyy-MM-dd` format. BILL automatically closes the card account on this date.\n\n**Note**: Use the `validThru` value as the expiration date in a card payment. Do not use the `expirationDate` value for this operation.","format":"date"},"status":{"allOf":[{"$ref":"#/components/schemas/CardStatus"},{"description":"Card status."}]},"deletedReason":{"allOf":[{"$ref":"#/components/schemas/DeletedReasonType"},{"description":"Delete card reason. This field is available in the response only when `status` is `DELETED`."}]},"type":{"allOf":[{"$ref":"#/components/schemas/CardType"},{"description":"Card type."}]},"shareBudgetFunds":{"type":"boolean","description":"Set as `true` to share all the budget funds with the card. This option enables the card user to spend from unallocated budget funds when the allocation is empty."},"recurring":{"type":"boolean","description":"Set as `true` to renew the card funds in the next budget period"},"recurringLimit":{"type":"number","description":"Card spend limit for the all future budget periods"},"currentPeriod":{"allOf":[{"$ref":"#/components/schemas/CardCurrentPeriodDto"},{"description":"Current budget period information about the card"}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"Cards response."},"CardStatus":{"type":"string","description":"CardStatus.","enum":["ACTIVATED","NOT_ACTIVATED","FROZEN","DELETED"]},"CardType":{"type":"string","description":"CardType.","enum":["PHYSICAL","VIRTUAL_MEMBER","VIRTUAL_VENDOR","VIRTUAL"]},"CardUserStatus":{"type":"string","description":"Card user status","enum":["VERIFIED","NOMINATED"]},"Category":{"type":"string","enum":["REQUEST","APPLICATION","SERVER","DOWNSTREAM"]},"ChargeAuthorizationRequestDto":{"required":["authorizedToCharge"],"type":"object","properties":{"authorizedToCharge":{"type":"boolean","description":"Set as `true` if your organization is authorized to charge the customer for invoices"}},"description":"Authorize your organization to charge the customer.","example":{"authorizedToCharge":true}},"ChargeAuthorizationResponseDto":{"type":"object","properties":{"authorizedToCharge":{"type":"boolean","description":"Set as `true` if your organization is authorized to charge the customer for invoices"}},"description":"The type Charge customer response dto."},"ChargeCustomerRequestDto":{"required":["customerId","fundingAccount","invoicePayments"],"type":"object","properties":{"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"fundingAccount":{"allOf":[{"$ref":"#/components/schemas/FundingAccountRequestDto"},{"description":"Customer funding account information"}]},"description":{"type":"string","description":"Invoice payment description. This value is included in the check memo or in the bank descriptor for electronic payments."},"paymentDate":{"type":"string","description":"Received payment date. Funds are withdrawn from the customer bank account on this date.This value is in the `yyyy-MM-dd` format.","format":"date"},"invoicePayments":{"type":"array","description":"List of invoices to be paid","items":{"$ref":"#/components/schemas/InvoicePayRequestDto"}}},"description":"Charge a customer","example":{"customerId":"{{customer_id}}","fundingAccount":{"id":"{{customer_bank_account_id}}","type":"BANK_ACCOUNT"},"description":"Invoice 202602 customer payment","paymentDate":"2026-12-15","invoicePayments":[{"invoiceId":"{{invoice_id}}","amount":100}]}},"ChartOfAccountsTypeRequest":{"type":"string","description":"Chart of accounts type.","enum":["UNSPECIFIED","ACCOUNTS_PAYABLE","ACCOUNTS_RECEIVABLE","BANK","COST_OF_GOODS_SOLD","CREDIT_CARD","EQUITY","EXPENSE","FIXED_ASSET","INCOME","LONG_TERM_LIABILITY","OTHER_ASSET","OTHER_CURRENT_ASSET","OTHER_CURRENT_LIABILITY","OTHER_EXPENSE","OTHER_INCOME","NON_POSTING"]},"ChartOfAccountsTypeResponse":{"type":"string","description":"Chart of accounts type response.","enum":["UNSPECIFIED","ACCOUNTS_PAYABLE","ACCOUNTS_RECEIVABLE","BANK","COST_OF_GOODS_SOLD","CREDIT_CARD","EQUITY","EXPENSE","FIXED_ASSET","INCOME","LONG_TERM_LIABILITY","OTHER_ASSET","OTHER_CURRENT_ASSET","OTHER_CURRENT_LIABILITY","OTHER_EXPENSE","OTHER_INCOME","NON_POSTING","UNDEFINED"]},"CheckDeliveryTypeRequest":{"type":"string","description":"Enum for Check delivery type.","enum":["STANDARD","UPS_1DAY","UPS_2DAY","UPS_3DAY","RTP_DELIVERY"]},"CheckDeliveryTypeResponse":{"type":"string","description":"Enum for Check delivery type.","enum":["STANDARD","UPS_1DAY","UPS_2DAY","UPS_3DAY","RTP_DELIVERY","UNDEFINED"]},"CheckDisbursement":{"type":"object","properties":{"sentDate":{"type":"string","description":"Check payment sent date","format":"date"},"arrivesByDate":{"type":"string","description":"Check payment arrives by date","format":"date"},"checkNumber":{"type":"integer","description":"Check number","format":"int64"},"trackingInformation":{"type":"string","description":"UPS tracking number for the check. You get a tracking number only for a BILL Pay Faster check payment."}},"description":"Check disbursement dto when the disbursement type is check."},"CheckImageDataResponseDto":{"type":"object","properties":{"results":{"type":"array","description":"URLs for the check image","items":{"$ref":"#/components/schemas/DownloadLink"}}},"description":"Check image data response."},"ClassificationAccountingClassBulkResponseDto":{"type":"object","properties":{"accountingClasses":{"type":"array","description":"List of accounting classes","items":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}},"description":"Response Dto for bulk classification accounting class."},"ClassificationAccountingClassResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"name":{"type":"string","description":"Accounting class name"},"shortName":{"type":"string","description":"Accounting class short name"},"description":{"type":"string","description":"Accounting class description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent accounting class. You can set this field if this accounting class is a child object."},"archived":{"type":"boolean","description":"Set as `true` if the accounting class is archived"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"ClassificationAccountingClass response Dto."},"ClassificationChartOfAccountsBulkResponseDto":{"type":"object","properties":{"chartOfAccounts":{"type":"array","description":"List of chart of accounts","items":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}},"description":"Response Dto for bulk classification chart of accounts."},"ClassificationChartOfAccountsResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"archived":{"type":"boolean","description":"Set as `true` if the chart of accounts is archived"},"name":{"type":"string","description":"Chart of accounts name"},"description":{"type":"string","description":"Chart of accounts description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent chart of accounts. You can set this field if this chart of accounts is a child object."},"account":{"allOf":[{"$ref":"#/components/schemas/AccountResponse"},{"description":"Chart of accounts details"}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"ClassificationChartOfAccounts response Dto."},"ClassificationDepartmentBulkResponseDto":{"type":"object","properties":{"departments":{"type":"array","description":"List of departments","items":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}},"description":"Response Dto for bulk classification department."},"ClassificationDepartmentResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"name":{"type":"string","description":"Department name"},"shortName":{"type":"string","description":"Department short name"},"description":{"type":"string","description":"Department description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent department. You can set this field if this department is a child object."},"archived":{"type":"boolean","description":"Set as `true` if the department is archived"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"ClassificationDepartment response Dto."},"ClassificationEmployeeBulkResponseDto":{"type":"object","properties":{"employees":{"type":"array","description":"List of employees","items":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}},"description":"Response Dto for bulk classification employee."},"ClassificationEmployeeResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`."},"firstName":{"type":"string","description":"Employee first name"},"lastName":{"type":"string","description":"Employee last name"},"shortName":{"type":"string","description":"Employee short name"},"parentId":{"type":"string","description":"BILL-generated ID of the parent employee. You can set this field if this employee is a child object."},"archived":{"type":"boolean","description":"Set as `true` if the employee is archived"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"ClassificationEmployee response Dto."},"ClassificationItemBulkResponseDto":{"type":"object","properties":{"items":{"type":"array","description":"List of items","items":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}},"description":"Response Dto for bulk classification item."},"ClassificationItemResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."},"type":{"allOf":[{"$ref":"#/components/schemas/ItemTypeResponse"},{"description":"Item type"}]},"shortName":{"type":"string","description":"Item short name"},"name":{"type":"string","description":"Item name"},"description":{"type":"string","description":"Item description"},"archived":{"type":"boolean","description":"Set as `true` if the item is archived"},"parentId":{"type":"string","description":"BILL-generated ID of the parent item. You can set this field if this item is a child object."},"price":{"type":"number","description":"Item price"},"expenseChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item when it is used for bills or purchases in your accounting system. The value begins with `0ca`."},"purchaseDescription":{"type":"string","description":"Item description when it is used for bills or purchases in your accounting system"},"purchaseCost":{"type":"number","description":"Item purchase cost set in your accounting system"},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item. The value begins with `0ca`."},"taxable":{"type":"boolean","description":"Set as `true` if the item is taxable"},"percentage":{"type":"number","description":"Item tax percentage"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"CategoryItem response Dto."},"ClassificationJobBulkResponseDto":{"type":"object","properties":{"jobs":{"type":"array","description":"List of jobs","items":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}},"description":"Response Dto for bulk classification job."},"ClassificationJobResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"name":{"type":"string","description":"Job name"},"shortName":{"type":"string","description":"Job short name"},"description":{"type":"string","description":"Job description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent job. You can set this field if this job is a child object."},"archived":{"type":"boolean","description":"Set as `true` if the job is archived"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"ClassificationJob response Dto."},"ClassificationLocationBulkResponseDto":{"type":"object","properties":{"locations":{"type":"array","description":"List of locations","items":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}},"description":"Response Dto for bulk classification location."},"ClassificationLocationResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"name":{"type":"string","description":"Location name"},"shortName":{"type":"string","description":"Location short name"},"description":{"type":"string","description":"Location description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent location. You can set this field if this location is a child object."},"archived":{"type":"boolean","description":"Set as `true` if the location is archived"},"createdTime":{"type":"string","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"ClassificationLocation response Dto."},"CompanyOwner":{"type":"object","properties":{"name":{"maxLength":100,"type":"string","description":"Company owner name"},"dateOfBirth":{"type":"string","description":"Company owner date of birth. The value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Company owner."},"CompletedPaymentDto":{"type":"object","properties":{"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"paymentId":{"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`."}},"description":"Completed payment DTO."},"ConsoleOrganization":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`."},"name":{"type":"string","description":"Organization name"}},"description":"Console organization response."},"ConvenienceFeeRequestDto":{"type":"object","properties":{"percentage":{"maximum":3,"minimum":0,"type":"number","description":"Convenience fee percentage"}},"description":"DTO for convenience fee in invoice requests."},"ConvenienceFeeResponseDto":{"type":"object","properties":{"percentage":{"type":"number","description":"Convenience fee percentage\n"}},"description":"DTO for convenience fee in invoice responses."},"CountryCode":{"type":"string","description":"Enumeration based on the ISO2 country code specification.","enum":["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IN","IO","IQ","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MH","MK","ML","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","ST","SV","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]},"CreateAccountRequest":{"required":["type"],"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ChartOfAccountsTypeRequest"},{"description":"Type"}]},"number":{"type":"string","description":"Number"}},"description":"Account request Dto."},"CreateCardRequestDto":{"required":["budgetId","name","userId"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Card name"},"userId":{"type":"string","description":"BILL-generated ID or UUID of the user linked with the card"},"budgetId":{"type":"string","description":"BILL-generated ID or UUID of the budget linked with the card"},"limit":{"type":"number","description":"Card spend limit for the current budget period","nullable":true},"recurringLimit":{"type":"number","description":"Card spend limit for all future budget periods","nullable":true},"expirationDate":{"type":"string","description":"User-generated expiration date. The value is in the `yyyy-MM-dd` format. BILL automatically closes the card account on this date.\n\n**Note**: Use the `validThru` value in the response as the expiration date in a card payment. Do not use the `expirationDate` value for this operation.","format":"date","nullable":true},"shareBudgetFunds":{"type":"boolean","description":"Set as `true` to share all the budget funds with the card. This option enables the card user to spend from unallocated budget funds when the allocation is empty.","nullable":true}},"description":"Create a virtual charge card","example":{"budgetId":"{{se_budget_uuid}}","limit":"100","name":"Happy Music Supplies card for Clark Spenderson","userId":"{{se_user_uuid}}"}},"CreateClassificationAccountingClassRequestDto":{"required":["name"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Accounting class name"},"shortName":{"type":"string","description":"Accounting class short name"},"description":{"type":"string","description":"Accounting class description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent accounting class. You can set this field if this accounting class is a child object."}},"description":"Create an accounting class","example":{"name":"Prepaid Subscriptions","description":"Prepaid Subscriptions class (Prepaid Expenses account)"}},"CreateClassificationChartOfAccountsRequestDto":{"required":["name"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Chart of accounts name"},"description":{"type":"string","description":"Chart of accounts description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent chart of accounts. You can set this field if this chart of accounts is a child object."},"account":{"allOf":[{"$ref":"#/components/schemas/CreateAccountRequest"},{"description":"Chart of accounts details"}]}},"description":"Create a chart of accounts","example":{"name":"Prepaid Expenses","description":"Prepaid expenses for the upcoming quarter","account":{"type":"EXPENSE","number":"1-020"}}},"CreateClassificationDepartmentRequestDto":{"required":["name"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Department name"},"shortName":{"type":"string","description":"Department short name"},"description":{"type":"string","description":"Department description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent department. You can set this field if this department is a child object."}},"description":"Create a department","example":"{\n  \"name\": \"Sales Department\",\n  \"description\": \"Sales department (Prepaid Expenses account)\",\n}"},"CreateClassificationEmployeeRequestDto":{"required":["firstName","lastName"],"type":"object","properties":{"firstName":{"minLength":1,"type":"string","description":"Employee first name"},"lastName":{"minLength":1,"type":"string","description":"Employee last name"},"shortName":{"type":"string","description":"Employee short name"},"parentId":{"type":"string","description":"BILL-generated ID of the parent employee. You can set this field if this employee is a child object."}},"description":"Create an employee","example":{"firstName":"James","lastName":"Milner"}},"CreateClassificationItemRequestDto":{"required":["name","type"],"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ItemTypeRequest"},{"description":"Item type"}]},"shortName":{"type":"string","description":"Item short name"},"name":{"minLength":1,"type":"string","description":"Item name"},"description":{"type":"string","description":"Item description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent item. You can set this field if this item is a child object."},"price":{"type":"number","description":"Item price"},"expenseChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item when it is used for bills or purchases in your accounting system. The value begins with `0ca`."},"purchaseDescription":{"type":"string","description":"Item description when it is used for bills or purchases in your accounting system"},"purchaseCost":{"type":"number","description":"Item purchase cost set in your accounting system"},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item. The value begins with `0ca`."},"taxable":{"type":"boolean","description":"Set as `true` if the item is taxable"},"percentage":{"type":"number","description":"Item tax percentage. You can set this field for a set of item `type` values.\n* `DISCOUNT`\n* `SALES_TAX`\n* `OTHER_CHARGE`\n"}},"description":"Create an item","example":{"type":"SALES_TAX","percentage":3,"name":"State Sales Tax"}},"CreateClassificationJobRequestDto":{"required":["name"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Job name"},"shortName":{"type":"string","description":"Job short name"},"description":{"type":"string","description":"Job description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent job. You can set this field if this job is a child object."}},"description":"Create a job","example":{"name":"Kitchen Remodel","description":"New cabinets & countertop"}},"CreateClassificationLocationRequestDto":{"required":["name"],"type":"object","properties":{"name":{"minLength":1,"type":"string","description":"Location name"},"shortName":{"type":"string","description":"Location short name"},"description":{"type":"string","description":"Location description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent location. You can set this field if this location is a child object."}},"description":"Create a location","example":"{\n  \"name\": \"123 Main St Retail Store\",\n  \"\"description\": \"Retail store prepaid subscription expenses\"\n}"},"CreateCreditMemoLineItemDto":{"type":"object","properties":{"description":{"type":"string","description":"Credit memo line item description"},"price":{"type":"number","description":"Credit memo line item unit price. For a credit memo in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Credit memo line item unit quantity"},"ratePercent":{"minimum":-100,"type":"number","description":"Credit memo line item rate percent. Use `ratePercent` to apply a discount or markup in your credit memo.\n\nBILL applies the `ratePercent` to the sum of the `amount` values of all the line items above the `ratePercent` line item.\n\n**Note**: Use a separate line item to set a `ratePercent` for the credit memo. Set the `ratePercent` line item as the final line item. Do not set `price` and `quantity` in the line item when you set `ratePercent`.\n\nFor example, let's say you have two line items in a credit memo with an `amount` sum of `$150`. If you create a third line item with `ratePercent` set as `-10`, a 10% discount (`$15`) is applied to the `amount` sum of `$150`."},"taxable":{"type":"boolean","description":"Set as `true` if the credit memo line item is taxable"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the credit memo line item"}]}},"description":"Credit Memo Create Request Line Item."},"CreateCreditMemoRequestDto":{"required":["creditDate","creditMemoLineItems","customerId","referenceNumber"],"type":"object","properties":{"customerId":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`.\n\n**Note**: You can set only one of `payToChartOfAccountId` or `payToBankAccountId`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]},"creditMemoLineItems":{"minItems":1,"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/CreateCreditMemoLineItemDto"}}},"description":"Create a credit memo","example":{"customerId":"{{customer_id}}","referenceNumber":"202602-creditmemo","creditDate":"2026-12-28","creditMemoLineItems":[{"description":"Classic extreme drum sticks","price":14.99,"quantity":2},{"description":"Metal guitar picks (5-pack)","price":50,"quantity":1},{"description":"10% discount","ratePercent":-10}],"description":"Paperless Credit Memo"}},"CreateCustomFieldRequestDto":{"required":["allowCustomValues","global","name","required"],"type":"object","properties":{"name":{"type":"string","description":"Custom field name"},"description":{"type":"string","description":"Custom field description"},"multiSelect":{"type":"boolean","description":"Set as `true` if the custom field can have multiple selected values"},"allowCustomValues":{"type":"boolean","description":"Set as `true` if the custom field can have custom values"},"minimumAmountForRequirement":{"type":"number","description":"Minimum transaction amount where the custom field is required"},"required":{"type":"boolean","description":"Set as `true` if the custom field is required for all budgets. The default value is `false`."},"global":{"type":"boolean","description":"Set as `true` if the custom field applies to all budgets. The default value is `false`."},"values":{"type":"array","description":"List of custom field values","items":{"type":"string"}},"selectedBudgetIds":{"type":"array","description":"List of budgets where the custom field is available. Set the budget ID or UUID values.","items":{"type":"string"}},"requiredBudgetIds":{"type":"array","description":"List of budgets where the custom field is required. Set the budget ID or UUID values.","items":{"type":"string"}}},"description":"Create a custom field","example":{"name":"Team offsite","allowCustomValues":false,"global":true,"values":["Travel","Food"]}},"CreateCustomFieldValueRequestDto":{"required":["values"],"type":"object","properties":{"values":{"minItems":1,"type":"array","description":"List of custom field values","items":{"type":"string"}}},"description":"Create a custom field value (value added to existing list)","example":{"values":["Travel","Food","Entertainment"]}},"CreateCustomerBankAccountRequestDto":{"required":["accountNumber","nameOnAccount","ownerType","routingNumber","type"],"type":"object","properties":{"nameOnAccount":{"minLength":1,"type":"string","description":"Customer bank account name"},"nickname":{"type":"string","description":"Customer bank account nickname"},"routingNumber":{"minLength":1,"type":"string","description":"Customer bank routing number"},"accountNumber":{"minLength":1,"type":"string","description":"Customer bank account number"},"type":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"},{"description":"Customer bank account type"}]},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Customer bank account owner type"}]}},"description":"Create a customer bank account","example":{"nameOnAccount":"Check Mailworth","nickname":"Check Mailworth Personal Checking","routingNumber":"021000021","accountNumber":"333222111","type":"CHECKING","ownerType":"PERSONAL"}},"CreateInvitationRequestDto":{"required":["networkId","networkType"],"type":"object","properties":{"networkId":{"minLength":1,"type":"string","description":"Payment Network ID (PNI) of the organization you want to connect with. For a verified national vendor, the value begins with `0rv`. BILL uses the PNI to send and receive electronic payments.\n\nYou can retrieve `networkId` from your `GET /v3/network` search result."},"networkType":{"allOf":[{"$ref":"#/components/schemas/NetworkType"},{"description":"Network type.\n* Select `BILL` for BILL Network\n* Select `RPPS` for verified national vendor network"}]},"rppsInformation":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/RppsInformation"},{"description":"Additional information required if `networkType` is `RPPS`"}]}},"description":"Create an organization in the BILL network","example":{"networkId":"{{network_id}}","networkType":"BILL"}},"CreateRecurringInvoiceRequestDto":{"required":["customerId","recurringInvoiceLineItems","schedule"],"type":"object","properties":{"customerId":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"description":{"maxLength":4000,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or invoice due date."},"schedule":{"allOf":[{"$ref":"#/components/schemas/InvoiceScheduleRequest"},{"description":"Recurring invoice scheduling information"}]},"recurringInvoiceLineItems":{"type":"array","description":"Recurring invoice line item information","items":{"$ref":"#/components/schemas/RecurringInvoiceLineItemDto"}},"sendEmail":{"type":"boolean","description":"Set as `true` to send an email to the customer when an invoice is created."}},"description":"Create a recurring invoice","example":{"customerId":"{{customer_id}}","schedule":{"period":"MONTHLY","frequency":1,"nextDueDate":"2026-12-31","endDate":"2027-11-01","daysInAdvance":5},"recurringInvoiceLineItems":[{"amount":19.99,"quantity":1,"description":"Monthly subscription"}]}},"CreateReimbursementRequestDto":{"required":["amount","budgetId","merchantName","note","occurredDate","receipts","userId"],"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID of the user to be reimbursed"},"budgetId":{"type":"string","description":"BILL-generated ID of the budget to be used for the reimbursement"},"amount":{"type":"number","description":"Reimbursement amount"},"note":{"type":"string","description":"Reimbursement note. Use this field to describe the business purpose for the expense."},"merchantName":{"type":"string","description":"Merchant name for the expense"},"occurredDate":{"type":"string","description":"Expense created date. The value is in the `yyyy-MM-dd` format.","format":"date"},"receipts":{"type":"array","description":"List of reimbursement receipts","items":{"$ref":"#/components/schemas/ReimbursementReceiptRequestDto"}},"customFields":{"type":"array","description":"List of reimbursement custom fields and values","items":{"$ref":"#/components/schemas/UpdateCustomFieldDto"}}},"description":"Create a reimbursement","example":{"budgetId":"{{se_budget_uuid}}","userId":"{{se_user_uuid}}","occurredDate":"2026-12-25","note":"Team lunch","merchantName":"Jasmine Thai","amount":50,"receipts":[{"url":"{{se_reimbursement_url}}","filename":"{{file_name_with_extension}}"}]}},"CreateUserRequestDto":{"required":["email","firstName","lastName","role"],"type":"object","properties":{"firstName":{"minLength":1,"type":"string","description":"User first name"},"lastName":{"minLength":1,"type":"string","description":"User last name"},"email":{"minLength":1,"type":"string","description":"User email address"},"role":{"allOf":[{"$ref":"#/components/schemas/InputRoleType"},{"description":"User role.\n* `ADMIN`: The user manages the account with full access to settings, people, and activity.\n* `AUDITOR`: The user can view account activity and export activity for use in other systems.\n* `BOOKKEEPER`: The user helps the `ADMIN` with account management, and has view-only access to activity.\n* `MEMBER`: The user is able to spend company funds for assigned budgets."}]},"dateOfBirth":{"type":"string","description":"User date of birth. The value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Create a user","example":{"email":"info@happymusicsupplies.org","firstName":"Clark","lastName":"Spenderson","role":"MEMBER"}},"CreateVendorCreditLineItemDto":{"required":["amount"],"type":"object","properties":{"description":{"type":"string","description":"Vendor credit line item description"},"amount":{"type":"number","description":"Vendor credit line item amount. For a vendor credit in an international currency (not USD), this value is in the local currency."},"classifications":{"allOf":[{"$ref":"#/components/schemas/VendorCreditLineItemClassificationsDto"},{"description":"General ledger classifications information for the vendor credit line item"}]}},"description":"Vendor Credit Create Request Line Item."},"CreateVendorCreditRequestDto":{"required":["creditDate","referenceNumber","vendorCreditLineItems","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"vendorCreditLineItems":{"minItems":1,"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/CreateVendorCreditLineItemDto"}}},"description":"Create a vendor credit","example":{"vendorId":"{{vendor_id}}","referenceNumber":"202602-vendorcredit","creditDate":"2026-12-28","vendorCreditLineItems":[{"description":"Classic extreme drum sticks","amount":14.99},{"description":"Metal guitar picks (5-pack)","amount":50}],"description":"Happy Vendor Credit"}},"CreditMemoBulkResponseDto":{"type":"object","properties":{"creditMemos":{"type":"array","description":"List of credit memos","items":{"$ref":"#/components/schemas/CreditMemoResponseDto"}}},"description":"Response Dto for bulk credit memo."},"CreditMemoLineItemResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the credit memo line item. The value begins with `cci`."},"description":{"type":"string","description":"Credit memo line item description"},"price":{"type":"number","description":"Credit memo line item unit price. For a credit memo in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Credit memo line item unit quantity"},"amount":{"type":"number","description":"Credit memo line item amount"},"ratePercent":{"type":"number","description":"Credit memo line item rate percent"},"taxable":{"type":"boolean","description":"Set as `true` if the credit memo line item is taxable"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the credit memo line item"}]}},"description":"Credit Memo Create Request Line Item."},"CreditMemoResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"archived":{"type":"boolean","description":"Set as `true` if the credit memo is archived"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`."},"amount":{"type":"number","description":"Credit memo amount"},"appliedAmount":{"type":"number","description":"Credit memo amount applied to invoices"},"salesTaxTotal":{"type":"number","description":"Credit memo sales tax amount. The value is set based on `salesTaxItemId`."},"salesTaxPercentage":{"type":"number","description":"Credit memo sales tax percentage. The value is set based on `salesTaxItemId`."},"status":{"allOf":[{"$ref":"#/components/schemas/CreditStatusDto"},{"description":"Credit memo status."}]},"createdTime":{"type":"string","description":"Credit memo created time","format":"date-time"},"updatedTime":{"type":"string","description":"Credit memo updated time","format":"date-time"},"creditMemoLineItems":{"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/CreditMemoLineItemResponseDto"}},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]}},"description":"CreditMemo response Dto."},"CreditMemoUsageDto":{"type":"object","properties":{"invoiceId":{"type":"string","description":"BILL-generated ID of the invoice to which the credit memo is applied"},"amount":{"type":"number","description":"Credit memo amount applied to the invoice"}},"description":"CreditMemo usage Dto."},"CreditMemoWithUsageResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"archived":{"type":"boolean","description":"Set as `true` if the credit memo is archived"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`."},"amount":{"type":"number","description":"Credit memo amount"},"appliedAmount":{"type":"number","description":"Credit memo amount applied to invoices"},"salesTaxTotal":{"type":"number","description":"Credit memo sales tax amount. The value is set based on `salesTaxItemId`."},"salesTaxPercentage":{"type":"number","description":"Credit memo sales tax percentage. The value is set based on `salesTaxItemId`."},"status":{"allOf":[{"$ref":"#/components/schemas/CreditStatusDto"},{"description":"Credit memo status."}]},"createdTime":{"type":"string","description":"Credit memo created time","format":"date-time"},"updatedTime":{"type":"string","description":"Credit memo updated time","format":"date-time"},"creditMemoLineItems":{"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/CreditMemoLineItemResponseDto"}},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]},"usage":{"type":"array","description":"Credit memo usage information","items":{"$ref":"#/components/schemas/CreditMemoUsageDto"}}},"description":"CreditMemo response Dto."},"CreditStatusDto":{"type":"string","description":"Credit Status DTO.","enum":["FULLY_APPLIED","NOT_APPLIED","PARTIALLY_APPLIED","IN_PROCESS","UNDEFINED"]},"CurrencyCode":{"type":"string","description":"Enumeration based on the ISO2 country code specification.","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SLL","SOS","SPL","SRD","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TVD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XCD","XDR","XOF","XPF","YER","ZAR","ZMW","ZWD"]},"CurrencyData":{"type":"object","properties":{"exchangeRate":{"type":"number","description":"Exchange rate for currency conversion"},"exponent":{"type":"integer","description":"Number of decimal places in the currency format","format":"int64"},"originalCurrencyAmount":{"type":"string","description":"Transaction amount in the original currency before conversion"},"originalCurrencyCode":{"type":"string","description":"Three-letter ISO currency code of the original currency"},"symbol":{"type":"string","description":"Currency symbol for display purposes (e.g. $, €, £)"}},"description":"CurrencyData class for Spend \\& Expense Transactions."},"CustomFieldDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the custom field","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the custom field"},"name":{"type":"string","description":"Custom field name"},"note":{"type":"string","description":"Custom field note"},"isRequired":{"type":"boolean","description":"Set as `true` if the custom field is required"},"selectedValues":{"type":"array","description":"List of selected values for this custom field.\n\n**NOTE**: In the response, you get up to 20 selected values for a custom field. Use `GET /v3/spend/custom-fields/{customFieldId}/values` to get the complete list of selected values.","items":{"$ref":"#/components/schemas/CustomFieldValueDto"}}},"description":"Transaction custom field response."},"CustomFieldResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the custom field","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the custom field"},"name":{"type":"string","description":"Custom field name"},"description":{"type":"string","description":"Custom field description"},"type":{"allOf":[{"$ref":"#/components/schemas/CustomFieldType"},{"description":"Custom field type.\nn* `CUSTOM_SELECTOR`: Select one value from the list (or multiple values when `multiSelect` is true)\n* `NOTE`: Write a per-transaction custom note.\n\n**Note**: Currently, BILL does not support creating additional custom fields with `type` set as `NOTE`."}]},"multiSelect":{"type":"boolean","description":"Set as `true` if the custom field can have multiple selected values"},"allowCustomValues":{"type":"boolean","description":"Set as `true` if the custom field can have custom values"},"minimumAmountForRequirement":{"type":"number","description":"Minimum transaction amount where the custom field is required"},"required":{"type":"boolean","description":"Set as `true` if the custom field is required for all budgets. The default value is `false`."},"global":{"type":"boolean","description":"Set as `true` if the custom field applies to all budgets. The default value is `false`."},"retired":{"type":"boolean","description":"Set as `true` if the custom field is retired"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"selectedBudgetIds":{"type":"array","description":"List of BILL-generated ID values of budgets where the custom field is available","deprecated":true,"items":{"type":"string"}},"selectedBudgetUuids":{"type":"array","description":"List of BILL-generated UUID values of budgets where the custom field is available","items":{"type":"string"}},"requiredBudgetIds":{"type":"array","description":"List of BILL-generated ID values of budgets where the custom field is required","deprecated":true,"items":{"type":"string"}},"requiredBudgetUuids":{"type":"array","description":"List of BILL-generated UUID values of budgets where the custom field is required","items":{"type":"string"}}},"description":"DTO representing a custom field response."},"CustomFieldType":{"type":"string","description":"Enum representing the custom field kind in the Spend API.","enum":["CUSTOM_SELECTOR","NOTE"]},"CustomFieldValueDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the custom field value","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the custom field value"},"value":{"type":"string","description":"Custom field value"}},"description":"Custom field value DTO object representing the custom field value return on Custom fields for transactions and reimbursements."},"CustomFieldValueResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the custom field value","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the custom field value"},"value":{"type":"string","description":"Custom field value"},"deleted":{"type":"boolean","description":"Set as `true` if the custom field value is retired"}},"description":"DTO representing a custom field value response."},"CustomerAccountTypeRequest":{"type":"string","description":"CustomerAccountType.","enum":["NONE","BUSINESS","PERSON"]},"CustomerAccountTypeResponse":{"type":"string","description":"CustomerAccountType.","enum":["NONE","BUSINESS","PERSON","UNDEFINED"]},"CustomerBalance":{"type":"object","properties":{"amount":{"type":"number"}},"description":"The type CustomerBalance dto."},"CustomerBankAccountResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the customer bank account. The value begins with `cba`."},"nameOnAccount":{"type":"string","description":"Customer bank account name"},"nickname":{"type":"string","description":"Customer bank account nickname"},"routingNumber":{"type":"string","description":"Customer bank routing number"},"accountNumber":{"type":"string","description":"Customer bank account number"},"type":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"},{"description":"Customer bank account type."}]},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Customer bank account owner type."}]},"status":{"allOf":[{"$ref":"#/components/schemas/BankAccountStatus"},{"description":"Customer bank account status."}]},"archived":{"type":"boolean","description":"Set as `true` if the customer bank account is archived"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"CustomerBankAccount response Dto."},"CustomerContact":{"type":"object","properties":{"firstName":{"maxLength":100,"type":"string","description":"First name"},"lastName":{"maxLength":100,"type":"string","description":"Last name"}},"description":"Customer contact."},"CustomerCreateRequestDto":{"required":["email","name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":1,"type":"string","description":"Customer name"},"companyName":{"maxLength":250,"type":"string","description":"Customer company name"},"contact":{"allOf":[{"$ref":"#/components/schemas/CustomerContact"},{"description":"Customer contact information"}]},"email":{"minLength":1,"type":"string","description":"Customer email address"},"phone":{"pattern":"^.{0,20}$","type":"string","description":"Customer phone number"},"fax":{"pattern":"^.{0,20}$","type":"string","description":"Customer fax number"},"description":{"maxLength":4000,"type":"string","description":"Customer description"},"invoiceCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Invoice currency. Three-letter abbreviation."}]},"accountType":{"allOf":[{"$ref":"#/components/schemas/CustomerAccountTypeRequest"},{"description":"Customer account type"}]},"paymentTermId":{"type":"string","description":"BILL-generated ID of the payment term. Use payment terms to set the number of days the customer has to clear an invoice."},"accountNumber":{"maxLength":100,"type":"string","description":"Customer account number. The number appears in customer invoices."},"billingAddress":{"allOf":[{"$ref":"#/components/schemas/Address"},{"description":"Customer billing address"}]},"shippingAddress":{"allOf":[{"$ref":"#/components/schemas/Address"},{"description":"Customer shipping address"}]}},"description":"Create a customer","example":{"name":"Paperless Band","companyName":"Paperless Band LLC","contact":{"firstName":"Check","lastName":"Mailworth"},"email":"contact@paperlessband.org","accountType":"BUSINESS","phone":"9998887654","billingAddress":{"line1":"987 Side Street","city":"San Jose","stateOrProvince":"CA","zipOrPostalCode":"95002","country":"US"}}},"CustomerResponseDto":{"required":["email","name"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"archived":{"type":"boolean","description":"Set as `true` if the customer is archived."},"name":{"type":"string","description":"Customer name"},"companyName":{"type":"string","description":"Customer company name. This field is overridden when you connect with a customer in the BILL network."},"contact":{"allOf":[{"$ref":"#/components/schemas/CustomerContact"},{"description":"Customer contact information"}]},"email":{"type":"string","description":"Customer email address"},"phone":{"pattern":"^.{0,20}$","type":"string","description":"Customer phone number. This field is overridden when you connect with a customer in the BILL network."},"fax":{"pattern":"^.{0,20}$","type":"string","description":"Customer fax number"},"description":{"type":"string","description":"Customer description"},"invoiceCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Invoice currency. Three-letter abbreviation."}]},"accountType":{"allOf":[{"$ref":"#/components/schemas/CustomerAccountTypeResponse"},{"description":"Customer account type"}]},"paymentTermId":{"type":"string","description":"BILL-generated ID of the payment term. Use payment terms to set the number of days the customer has to clear an invoice."},"accountNumber":{"type":"string","description":"Customer account number. The number appears in customer invoices."},"billingAddress":{"allOf":[{"$ref":"#/components/schemas/AddressResponse"},{"description":"Customer billing address. This information is overridden when you connect with a customer in the BILL network."}]},"shippingAddress":{"allOf":[{"$ref":"#/components/schemas/AddressResponse"},{"description":"Customer shipping address. This information is overridden when you connect with a customer in the BILL network."}]},"balance":{"allOf":[{"$ref":"#/components/schemas/CustomerBalance"},{"description":"Current balance to be paid by the customer"}]},"hasBankAccount":{"type":"boolean","description":"Set as `true` if the customer bank account is added"},"authorizedToCharge":{"type":"boolean","description":"Set as `true` if your organization is authorized to charge the customer for invoices"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"Customers response."},"CustomerUpdateRequestDto":{"type":"object","properties":{"name":{"maxLength":100,"type":"string","description":"Customer name"},"companyName":{"maxLength":250,"type":"string","description":"Customer company name"},"contact":{"allOf":[{"$ref":"#/components/schemas/CustomerContact"},{"description":"Customer contact information"}]},"email":{"type":"string","description":"Customer email address"},"phone":{"pattern":"^.{0,20}$","type":"string","description":"Customer phone number"},"fax":{"pattern":"^.{0,20}$","type":"string","description":"Customer fax number"},"description":{"maxLength":4000,"type":"string","description":"Customer description"},"invoiceCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Invoice currency. Three-letter abbreviation."}]},"accountType":{"allOf":[{"$ref":"#/components/schemas/CustomerAccountTypeRequest"},{"description":"Customer account type"}]},"paymentTermId":{"type":"string","description":"BILL-generated ID of the payment term. Use payment terms to set the number of days the customer has to clear an invoice."},"accountNumber":{"maxLength":100,"type":"string","description":"Customer account number. The number appears in customer invoices."},"billingAddress":{"allOf":[{"$ref":"#/components/schemas/AddressUpdate"},{"description":"Customer billing address"}]},"shippingAddress":{"allOf":[{"$ref":"#/components/schemas/AddressUpdate"},{"description":"Customer shipping address"}]}},"description":"Update a customer","example":{"name":"Paperless Band (Updated)","accountType":"PERSON"}},"DeleteCustomFieldValuesRequestDto":{"required":["customFieldValueIds"],"type":"object","properties":{"customFieldValueIds":{"minItems":1,"type":"array","description":"List of custom field value IDs or UUIDs","items":{"type":"string"}}},"description":"Delete custom field values request","example":{"customFieldValueIds":["{{se_custom_field_value_uuid01}}"]}},"DeletedReasonType":{"type":"string","description":"DeletedReasonType.","enum":["CANCELLED","LOST","STOLEN","MISPLACED","FRAUD_CONFIRMED"]},"DisbursementInfo":{"type":"object","properties":{"isVoidable":{"type":"boolean","description":"Set as `true` if the payment disbursement type can be voided"},"checkDisbursement":{"allOf":[{"$ref":"#/components/schemas/CheckDisbursement"},{"description":"Check payment disbursement information"}]},"achDisbursement":{"allOf":[{"$ref":"#/components/schemas/AchDisbursement"},{"description":"ACH payment disbursement information"}]},"rppsDisbursement":{"allOf":[{"$ref":"#/components/schemas/RppsDisbursement"},{"description":"ACH payment to verified national vendor disbursement information"}]},"internationalDisbursement":{"allOf":[{"$ref":"#/components/schemas/InternationalDisbursement"},{"description":"International ePayment disbursement information"}]},"vcardDisbursement":{"allOf":[{"$ref":"#/components/schemas/VcardDisbursement"},{"description":"Virtual card payment disbursement information"}]},"walletDisbursement":{"allOf":[{"$ref":"#/components/schemas/WalletDisbursement"},{"description":"Instant Transfer (wallet) payment disbursement information"}]}},"description":"Disbursement info."},"DisbursementStatus":{"type":"string","description":"The enum type for disbursement status.","enum":["SCHEDULE","DONE","FAILED","VOID","HOLD","FXHOLD","ESCHEATED","UNDEFINED"]},"DisbursementSubType":{"type":"string","description":"PayBy.","enum":["NONE","WIRE","IACH","LOCAL","MULTIPLE","ACH","UNDEFINED"]},"DisbursementType":{"type":"string","description":"Enum for Disbursement type.","enum":["CHECK","ACH","RPPS","PAYPAL","OFFLINE","INTERNATIONAL_E_PAYMENT","AMEX","VIRTUAL_CARD","WALLET","CREDIT_CARD","UNDEFINED"]},"DisputeStatusType":{"type":"string","description":"Dispute status enum for Spend \\& Expense Transactions.","enum":["SUBMITTED","IN_PROGRESS","CLOSED_WON","CLOSED_LOST"]},"DocumentCreateResponseDto":{"type":"object","properties":{"uploadId":{"type":"string","description":"BILL-generated ID of the upload. This is a temporary BILL-generated ID for the document when the upload is in progress. The value begins with `0du`.\n\nWhen the upload is complete, a new BILL-generated ID is available for the document. The value begins with `00h`. You can get the document upload status with `GET /v3/documents/upload-status`."}},"description":"Document response."},"DocumentResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the document.\n* A temporary BILL-generated ID is available for the document when the upload is in progress. The value begins with `0du`.\n* A BILL-generated ID is available for the   document when the upload is complete. The value begins with `00h`."},"name":{"type":"string","description":"Document name"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"downloadLink":{"type":"string","description":"URL for downloading the document. Use the URL in a GET request to download the document."},"numOfPages":{"type":"integer","description":"Number of pages in the document","format":"int32"},"scanStatus":{"allOf":[{"$ref":"#/components/schemas/ScanStatus"},{"description":"Document scan status"}]}},"description":"Documents response."},"DocumentUploadStatusResponseDto":{"type":"object","properties":{"documentId":{"type":"string","description":"BILL-generated ID of the document. The value begins with `00h`."},"uploadId":{"type":"string","description":"BILL-generated ID of the document upload. The value begins with `0du`."},"status":{"allOf":[{"$ref":"#/components/schemas/UploadStatus"},{"description":"Document upload status."}]},"scanStatus":{"allOf":[{"$ref":"#/components/schemas/ScanStatus"},{"description":"Document scan status."}]}},"description":"Get document upload status response."},"DownloadLink":{"type":"object","properties":{"downloadLink":{"type":"string","description":"URL for downloading the check image. Use the URL in a GET request to download the check image."}},"description":"Download link for CheckImageDataResponseDto."},"DownloadLinkDto":{"required":["csv","pdf"],"type":"object","properties":{"csv":{"type":"string","description":"CSV format"},"pdf":{"type":"string","description":"PDF format"}},"description":"DownloadLink response Dto."},"EditBudgetShareFundsType":{"type":"string","description":"The subset of BudgetShareFundsType options that users are allowed to use for updates/creates. (Other options are read-only.)","enum":["DO_NOT_SHARE","SHARE_MANUALLY"]},"ExchangeRateListResponseDto":{"type":"object","properties":{"billCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Bill currency. This is the currency in which vendor bills are presented."}]},"paymentCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Payment currency. This is the currency in which the vendor accepts payments."}]},"baseCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Organization base currency."}]},"exchangeRate":{"type":"number","description":"Exchange rate. This rate compares the organization's base currency and the vendor `paymentCurrency` value.\n\nFor example, if the organization's base currency is USD and the vendor `paymentCurrency` is CAD, an `exchangeRate` of `1.372` tells us that `1 USD = 1.372 CAD`.\n"},"vendorId":{"type":"string","description":"BILL-generated ID of the international vendor\n"},"amountRange":{"allOf":[{"$ref":"#/components/schemas/ValidExchangeRateRangeDto"},{"description":"Payment amount range information for the exchange rate. The `exchangeRate` is valid for the amount range specified with the `from` and `to` values.\n\nWhen you set `baseCurrency` as `false` in your request, this range is in the vendor `paymentCurrency` value.\n"}]},"expirationTime":{"type":"string","description":"Exchange rate batch expiration date and time","format":"date-time"}},"description":"Exchange Rate Response DTO."},"ExchangeRateRequestDto":{"required":["amount","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the international vendor to be paid. The value begins with `009`.","example":"{{vendor_id}}"},"amount":{"type":"number","description":"Payment amount. The amount is in the vendor bill currency.","example":1000}},"description":"DTO for exchange rate request."},"ExchangeRateResponseDto":{"type":"object","properties":{"billCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Bill currency. This is the currency in which vendor bills are presented."}]},"paymentCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Payment currency. This is the currency in which the vendor accepts payments."}]},"baseCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Organization base currency."}]},"exchangeRate":{"type":"number","description":"Exchange rate. This rate compares the organization's base currency and the vendor `paymentCurrency` value.\n\nFor example, if the organization's base currency is USD and the vendor `paymentCurrency` is CAD, an `exchangeRate` of `1.372` tells us that `1 USD = 1.372 CAD`.\n"},"exchangeRateBatchId":{"type":"integer","description":"Exchange rate batch ID. BILL maintains all `exchangeRate` values in a batch. When a batch expires, a new batch ID is generated and all `exchangeRate` values are updated in the new batch.\n","format":"int32"},"vendorId":{"type":"string","description":"BILL-generated ID of the international vendor\n"},"amountRange":{"allOf":[{"$ref":"#/components/schemas/ValidExchangeRateRangeDto"},{"description":"Payment amount range information for the exchange rate. The `exchangeRate` is valid for the amount range specified with the `from` and `to` values.\n\nWhen you set `baseCurrency` as `false` in your request, this range is in the vendor `paymentCurrency` value.\n"}]},"expirationTime":{"type":"string","description":"Exchange rate batch expiration date and time","format":"date-time"}},"description":"Exchange Rate Response DTO."},"ExchangeRatesResponseDto":{"type":"object","properties":{"exchangeRateBatchId":{"type":"integer","format":"int32"},"exchangeRates":{"type":"array","items":{"$ref":"#/components/schemas/ExchangeRateListResponseDto"}}},"description":"DTO for exchange rates response."},"ExportDownloadLinkResponseDto":{"type":"object","properties":{"downloadLink":{"type":"string","description":"Download URL for the exported record file"}},"description":"Response DTO for export download link."},"ExportEntity":{"type":"string","description":"Enumeration of entities that map from bipaas.","enum":["BILL","CUSTOMER","CHART_OF_ACCOUNT","DEPARTMENT","INVOICE","ITEM","JOB","VENDOR","PAYMENT","LOCATION","EMPLOYEE","ACCOUNTING_CLASS","FUND_TRANSFER","PAYMENT_RECEIVED","VENDOR_CREDIT","CREDIT_MEMO","PAYMENT_TERM","BILL_LINE_ITEM","USER","CUSTOMER_CREDIT_LINE_ITEM","ACH_PAYMENT_HISTORY","INVOICE_LINE_ITEM","RECEIVABLE_CUSTOM_FIELD","BILL_PAYMENT","INVOICE_PAYMENT","VENDOR_CREDIT_LINE_ITEM","AMORTIZATION_SCHEDULE","JOURNAL_ENTRY","INTEGRATION_STATUS","CARD_TRANSACTION","REIMBURSEMENT","PURCHASE_ORDER","PURCHASE_ORDER_LINE_ITEM","PAYMENT_FEES","UNDEFINED"]},"ExportResponseDto":{"type":"object","properties":{"entity":{"allOf":[{"$ref":"#/components/schemas/ExportEntity"},{"description":"BILL entity in the exported record."}]},"name":{"type":"string","description":"Export operation schedule name"},"processedTime":{"type":"string","description":"Export operation processed date and time","format":"date-time"},"status":{"allOf":[{"$ref":"#/components/schemas/ExportStatus"},{"description":"Export operation status."}]},"fileName":{"type":"string","description":"Exported record file name"},"exportId":{"type":"string","description":"BILL-generated ID of the exported record file.\n\nUse this value to get the download URL for the exported record file with `GET /v3/exports/{exportId}/download-link`."}},"description":"Exports response."},"ExportStatus":{"type":"string","description":"Enumeration of entities that map from bipaas.","enum":["CREATED","QUEUED","IN_PROGRESS","DATA_REQUESTED","DATA_GENERATION_IN_PROGRESS","FILE_READY_FOR_TRANSFER","FILE_TRANSFER_IN_PROGRESS","FILE_TRANSFERRED","FILE_TRANSFER_FAILED","SUCCESS","PARTIAL_SUCCESS","FAILED","CANCELLED","EXPIRED","UNDEFINED"]},"FailedPaymentDto":{"type":"object","properties":{"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"errorCode":{"type":"string","description":"Failed payment error code"},"errorMessage":{"type":"string","description":"Failed payment error message"}},"description":"Failed payment DTO."},"Field":{"type":"object","properties":{"name":{"type":"string","description":"Regulatory field name"},"description":{"type":"string","description":"Regulatory field value description"},"regularExpression":{"type":"string","description":"Regular expression that BILL uses to validate the regulatory field"},"required":{"type":"boolean","description":"Set as `true` if the regulatory field is required"}},"description":"Properties of a validation field."},"FilterDto":{"required":["field","operator","value"],"type":"object","properties":{"field":{"type":"string"},"operator":{"$ref":"#/components/schemas/FilterOperator"},"value":{"type":"string"}},"description":"POJO for filter object accepted in list endpoints."},"FilterOperator":{"type":"string","description":"Filter operator.","enum":["eq","ne","lt","gt","lte","gte","in","nin","sw","isnull"]},"FulfillmentType":{"type":"string","description":"Enum representing the fulfillment type for reimbursements in the Spend API.","enum":["ACH","PAYROLL"]},"FundingAccount":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the customer funding account"},"type":{"allOf":[{"$ref":"#/components/schemas/ReceivableFundingAccountTypeResponse"},{"description":"Customer funding account type"}]}},"description":"Funding Account object."},"FundingAccountPermissionResponseDto":{"type":"object","properties":{"organization":{"allOf":[{"$ref":"#/components/schemas/OrganizationPermission"},{"description":"Funding account permissions available for the current organization"}]},"user":{"allOf":[{"$ref":"#/components/schemas/UserPermission"},{"description":"Funding account permissions available for the current user"}]}},"description":"Funding Account Permission response DTO."},"FundingAccountRequest":{"required":["type"],"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/FundingAccountTypeRequest"},{"description":"Payment funding type.\n* `BANK_ACCOUNT`: Bank account\n* `CARD_ACCOUNT`: Credit card or debit card\n* `WALLET`: BILL balance\n* `AP_CARD`: AP Card\n\nSee the BILL Help FAQ sections for [BILL balance](https://help.bill.com/direct/s/article/4409933681677) and [AP Card](https://help.bill.com/direct/s/article/000003348) for more information."}]},"id":{"type":"string","description":"BILL-generated ID of the selected payment funding type. For the `WALLET` type, the `id` is not required."}},"description":"Funding account details in Payments API."},"FundingAccountRequestDto":{"required":["id","type"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the customer funding account. For a customer bank account, the value begins with `cba`."},"type":{"allOf":[{"$ref":"#/components/schemas/ReceivableFundingAccountTypeRequestDto"},{"description":"Customer funding account type."}]}},"description":"Funding Account object."},"FundingAccountResponse":{"required":["type"],"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/FundingAccountTypeResponse"},{"description":"Payment funding type.\n* `BANK_ACCOUNT`: Bank account\n* `CARD_ACCOUNT`: Credit card or debit card\n* `WALLET`: BILL balance\n* `AP_CARD`: AP Card\n\nSee the BILL Help FAQ sections for [BILL balance](https://help.bill.com/direct/s/article/4409933681677) and [AP Card](https://help.bill.com/direct/s/article/000003348) for more information."}]},"id":{"type":"string","description":"BILL-generated ID of the selected payment funding type. For the `WALLET` type, the `id` is not required."}},"description":"Funding account details in Payments API."},"FundingAccountTypeRequest":{"type":"string","description":"Funading account type for Payments API.","enum":["BANK_ACCOUNT","CARD_ACCOUNT","WALLET","AP_CARD"]},"FundingAccountTypeResponse":{"type":"string","description":"Funading account type for Payments API.","enum":["BANK_ACCOUNT","CARD_ACCOUNT","WALLET","AP_CARD","UNDEFINED"]},"FundingOption":{"type":"object","properties":{"available":{"type":"boolean","description":"This field is set as `true` if the funding account is available for vendor payments"},"deliveryDate":{"type":"string","description":"Vendor payment delivery date. The value is in the `yyyy-MM-dd` format.","format":"date"},"processDate":{"type":"string","description":"Vendor payment process date. The value is in the `yyyy-MM-dd` format. On this date, BILL starts processing the payment and starts withdrawing funds from the sender's funding account.","format":"date"},"reason":{"type":"string","description":"Reason why the funding account is not available for vendor payments"},"conditions":{"type":"array","description":"Additional information required for vendor payments with the funding account","items":{"type":"string"}}},"description":"Funding option."},"FundingOptions":{"type":"object","properties":{"banks":{"type":"array","description":"Bank account options","items":{"$ref":"#/components/schemas/BankFundingOption"}},"cards":{"type":"array","description":"Card account options","items":{"$ref":"#/components/schemas/CardFundingOption"}}},"description":"Funding options."},"FundingPurpose":{"type":"object","properties":{"category":{"type":"string","description":"Purpose category"},"subCategories":{"type":"array","description":"Purpose sub-category","items":{"type":"string"}}},"description":"Funding purpose."},"GetInvitationResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the customer or vendor record in your organization"},"status":{"allOf":[{"$ref":"#/components/schemas/NetworkInvitationStatus"},{"description":"Network invitation status."}]},"networkId":{"type":"string","description":"Payment Network ID (PNI). BILL uses the PNI to send and receive electronic payments."}},"description":"Invitation status response."},"GetPhoneStatusResponseDto":{"type":"object","properties":{"hasPhone":{"type":"boolean","description":"Set as `true` if the user has an existing phone number for risk verification"}},"description":"Get phone status response."},"GroupUsers":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"fullName":{"type":"string","description":"User full name"}},"description":"Users that are part of an approval group."},"HealthCheckDto":{"type":"object","properties":{"status":{"type":"string","description":"Health status"}},"description":"App health response."},"InputRoleType":{"type":"string","description":"Spend \\& Expense User role type for creating and updating a user's role.","enum":["ADMIN","AUDITOR","BOOKKEEPER","MEMBER"]},"InternationalDisbursement":{"type":"object","properties":{"sentDate":{"type":"string","description":"International ePayment sent date","format":"date"},"arrivesByDate":{"type":"string","description":"International ePayment arrives by date","format":"date"},"amount":{"type":"number","description":"Disbursement amount"},"disbursementSubType":{"allOf":[{"$ref":"#/components/schemas/DisbursementSubType"},{"description":"Payment delivery method for making the International ePayment"}]}},"description":"International disbursement dto when the disbursement type is international."},"IntlPmtsConfigurationResponseDto":{"type":"object","properties":{"paymentPurpose":{"allOf":[{"$ref":"#/components/schemas/PaymentPurpose"},{"description":"Payment purpose information"}]},"validations":{"allOf":[{"$ref":"#/components/schemas/Validations"},{"description":"International bank account regulatory fields information"}]}},"description":"International payments configuration response."},"InviteVendorNotInBillNetworkRequestDto":{"required":["email"],"type":"object","properties":{"email":{"minLength":1,"type":"string","description":"Vendor email address"}},"description":"Invite a vendor not in BILL network","example":{"email":"{{vendor_email}}"}},"Invoice":{"required":["invoiceDate","invoiceNumber"],"type":"object","properties":{"invoiceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or bill due date."},"invoiceDate":{"type":"string","description":"Date when the invoice is sent. This value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Invoice linked to a bill."},"InvoiceClassificationsDto":{"type":"object","properties":{"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"jobId":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."}},"description":"DTO for Invoice classifications."},"InvoiceCreateLineItem":{"required":["quantity"],"type":"object","properties":{"description":{"maxLength":4000,"type":"string","description":"Invoice line item description"},"price":{"type":"number","description":"Invoice line item unit price. For an invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the invoice line item"}]}},"description":"Invoice Create Request Line Item."},"InvoiceCreateRequestDto":{"required":["customer","invoiceLineItems"],"type":"object","properties":{"invoiceNumber":{"maxLength":100,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme.\n\nIf you do not set this field, `invoiceNumber` is auto-generated."},"invoiceDate":{"type":"string","description":"Invoice creation date. This value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `invoiceDate` is set as the date when the invoice is created.","format":"date"},"dueDate":{"type":"string","description":"Invoice due date. The value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `dueDate` is set as the date when the invoice is created.","format":"date"},"customer":{"allOf":[{"$ref":"#/components/schemas/InvoiceCustomer"},{"description":"Customer contact information.\n* Set the customer `id` for associating an existing customer to the invoice\n* Set `name` and `email` for creating a new customer with the invoice.\n\nIn the response, a new BILL-generated customer `id` is available."}]},"invoiceLineItems":{"type":"array","description":"Invoice line item information","items":{"$ref":"#/components/schemas/InvoiceCreateLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/InvoiceProcessingOptions"},{"description":"Invoice processing options"}]},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the invoice payment. The value begins with `0ca`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the invoice"}]},"creditAmount":{"minimum":0,"type":"number","description":"Credit amount applied to the invoice.\n\nBILL applies the credit amount from the total of all the credit memos available for the customer."},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the invoice line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"enableCardPayment":{"type":"boolean","description":"Set as `true` if the card payment option is enabled for the invoice"},"convenienceFee":{"allOf":[{"$ref":"#/components/schemas/ConvenienceFeeRequestDto"},{"description":"Convenience fee information. The customer is charged the convenience fee when they pay the invoice using a card. To set the convenience fee, `enableCardPayment` must be set as `true`."}]}},"description":"Create an invoice","example":{"customer":{"id":"{{customer_id}}"},"invoiceLineItems":[{"quantity":2,"description":"Classic extreme drum sticks","price":14.99},{"quantity":1,"description":"Metal guitar picks (5-pack)","price":50}],"invoiceNumber":"202602","dueDate":"2026-12-31","processingOptions":{"sendEmail":false}}},"InvoiceCustomer":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"name":{"maxLength":100,"type":"string","description":"Customer name"},"email":{"type":"string","description":"Customer email address"},"invoiceCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Invoice currency. Three-letter abbreviation in the ISO 4217 format.\n\nThis value is required for an international customer. International customers pay invoices in this currency."}]}},"description":"Customer info for an invoice."},"InvoiceLineItemClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"jobId":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"itemId":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."}},"description":"DTO for Bill Line Item classifications."},"InvoicePay":{"type":"object","properties":{"invoiceId":{"type":"string","description":"BILL-generated ID of the invoice to be paid. The value begins with `00e`."},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency."},"paymentDate":{"type":"string","description":"Invoice payment date. The value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Invoice Payment response."},"InvoicePayRequestDto":{"required":["amount","invoiceId"],"type":"object","properties":{"invoiceId":{"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`."},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency."}},"description":"Invoice Payment request."},"InvoicePayment":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the invoice payment. The value begins with `0ip`.\n\nThis ID is generated when a payment is applied to the listed invoice."},"amount":{"type":"number","description":"Invoice amount paid"},"status":{"allOf":[{"$ref":"#/components/schemas/InvoicePaymentStatus"},{"description":"Invoice payment status."}]},"date":{"type":"string","description":"Invoice payment date. The value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Invoice payments information."},"InvoicePaymentLinkRequestDto":{"required":["customerId","email"],"type":"object","properties":{"customerId":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"email":{"minLength":1,"type":"string","description":"Recipient email address.\n\nWhen a customer payment is made with the invoice payment link, BILL sends a payment receipt to the provided email address."},"returnUrl":{"type":"string","description":"Redirect URL after the customer payment is complete"}},"description":"Get invoice payment link","example":{"customerId":"{{customer_id}}","email":"{{customer_email}}"}},"InvoicePaymentLinkResponseDto":{"type":"object","properties":{"paymentLink":{"type":"string","description":"Invoice payment link"}},"description":"Invoice Payment Link Response Dto."},"InvoicePaymentStatus":{"type":"string","description":"Invoice payment status enum.","enum":["PAID","VOID","SCHEDULED","CANCELED","INITIATED","UNDEFINED"]},"InvoicePaymentTypeRequest":{"type":"string","description":"Record AR payment type.","enum":["CASH","CHECK","CREDIT_CARD","ACH","PAYPAL","OTHER","WALLET","VIRTUAL_CARD"]},"InvoicePaymentTypeResponse":{"type":"string","description":"Record AR payment type.","enum":["CASH","CHECK","CREDIT_CARD","ACH","PAYPAL","OTHER","WALLET","VIRTUAL_CARD","UNDEFINED"]},"InvoiceProcessingOptions":{"type":"object","properties":{"sendEmail":{"type":"boolean","description":"Set as `true` to send an email to the customer"}},"description":"User provided options for sending an email."},"InvoiceRecipient":{"required":["to"],"type":"object","properties":{"to":{"type":"array","description":"Recipient email addresses","items":{"type":"string"}}},"description":"Invoice Recipient object."},"InvoiceRecordStatus":{"type":"string","description":"Record status enum for invoices.","enum":["ACTIVE","INACTIVE","DRAFT","UNDEFINED"]},"InvoiceReplaceLineItem":{"required":["quantity"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the invoice line item. The value begins with `00f`."},"description":{"maxLength":4000,"type":"string","description":"Invoice line item description"},"price":{"type":"number","description":"Invoice line item unit price. For an invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the invoice line item"}]}},"description":"Invoice Replace Request Line Item."},"InvoiceReplaceRequestDto":{"required":["customer","invoiceLineItems"],"type":"object","properties":{"invoiceNumber":{"maxLength":100,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme.\n\nIf you do not set this field, `invoiceNumber` is auto-generated."},"invoiceDate":{"type":"string","description":"Invoice creation date. This value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `invoiceDate` is set as the date when the invoice is created.","format":"date"},"dueDate":{"type":"string","description":"Invoice due date. The value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `dueDate` is set as the date when the invoice is created.","format":"date"},"customer":{"allOf":[{"$ref":"#/components/schemas/InvoiceCustomer"},{"description":"Customer contact information.\n* Set the customer `id` for associating an existing customer to the invoice.\n* Set `name` and `email` for creating a new customer with the invoice.\n\nIn the response, a new BILL-generated customer `id` is available."}]},"invoiceLineItems":{"type":"array","description":"Invoice line item information","items":{"$ref":"#/components/schemas/InvoiceReplaceLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/InvoiceProcessingOptions"},{"description":"Invoice processing options"}]},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the invoice payment. The value begins with `0ca`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the invoice"}]},"creditAmount":{"minimum":0,"type":"number","description":"Credit amount applied to the invoice.\n\nBILL applies the credit amount from the total of all the credit memos available for the customer."},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the invoice line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"enableCardPayment":{"type":"boolean","description":"Set as `true` if the card payment option is enabled for the invoice"},"convenienceFee":{"allOf":[{"$ref":"#/components/schemas/ConvenienceFeeRequestDto"},{"description":"Convenience fee information. The customer is charged the convenience fee when they pay the invoice using a card. To set the convenience fee, `enableCardPayment` must be set as `true`."}]},"invoicePdfId":{"type":"string","description":"BILL-generated ID of the invoice PDF. The value begins with `att`.\n\nThe invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment.\n\n**Note**: You can get the list of invoice attachments with `GET /v3/attachments/invoices/{invoiceId}`. All the attachments in the list (including the invoice PDF) are sent as email attachments when you send the invoice to the customer."}},"description":"Replace an invoice (line item added)","example":{"customer":{"id":"{{customer_id}}"},"invoiceLineItems":[{"description":"Premium drummer gloves","amount":29.99,"quantity":1},{"id":"{{invoice_line_item_id01}}","description":"Classic extreme drum sticks","price":14.99,"quantity":2},{"id":"{{invoice_line_item_id02}}","description":"Metal guitar picks (5-pack)","price":50,"quantity":1}]}},"InvoiceReplyTo":{"required":["userId"],"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID of the user sending the invoice. The value begins with `006`.\n\nYou can retrieve your user ID when you sign in with `/v3/login`."}},"description":"Invoice replyTo object."},"InvoiceResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`."},"archived":{"type":"boolean","description":"Set as `true` if the invoice is archived"},"recordStatus":{"allOf":[{"$ref":"#/components/schemas/InvoiceRecordStatus"},{"description":"Invoice record status.\n\nWhen `recordStatus` is `ACTIVE`, `archived` is set as `false`. For any other `recordStatus` value, `archived` is set as `true`."}]},"invoiceNumber":{"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme.\n\nIf you do not set this field, `invoiceNumber` is auto-generated."},"invoiceDate":{"type":"string","description":"Invoice creation date. This value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `invoiceDate` is set as the date when the invoice is created.","format":"date"},"dueDate":{"type":"string","description":"Invoice due date. The value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `dueDate` is set as the date when the invoice is created.","format":"date"},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"totalAmount":{"type":"number","description":"Invoice total amount"},"dueAmount":{"type":"number","description":"Invoice due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from `totalAmount`."},"scheduledAmount":{"type":"number","description":"Invoice scheduled amount. The value is set as the customer payment amount that is pending clearance."},"creditAmount":{"type":"number","description":"Credit amount applied to the invoice.\n\nWhen a credit amount is applied to an invoice, the invoice `status` is set as `PARTIAL_PAYMENT` or `PAID_IN_FULL` depending on the invoice `totalAmount`."},"status":{"allOf":[{"$ref":"#/components/schemas/InvoiceStatus"},{"description":"Invoice status."}]},"exchangeRate":{"type":"number","description":"Invoice exchange rate"},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the invoice. The value begins with `006`."},"createdTime":{"type":"string","description":"Invoice created time","format":"date-time"},"updatedTime":{"type":"string","description":"Invoice updated time","format":"date-time"},"invoiceLineItems":{"type":"array","description":"Invoice line item information","items":{"$ref":"#/components/schemas/InvoiceResponseLineItem"}},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the invoice payment. The value begins with `0ca`."},"payments":{"type":"array","description":"Invoice payments information","items":{"$ref":"#/components/schemas/InvoicePayment"}},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the invoice"}]},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the invoice line items set as taxable."},"salesTaxTotal":{"type":"number","description":"Invoice sales tax amount. The value is set based on `salesTaxItemId`."},"salesTaxPercentage":{"type":"number","description":"Invoice sales tax percentage. The value is set based on `salesTaxItemId`."},"enableCardPayment":{"type":"boolean","description":"Set as `true` if the card payment option is enabled for the invoice"},"convenienceFee":{"allOf":[{"$ref":"#/components/schemas/ConvenienceFeeResponseDto"},{"description":"Convenience fee information"}]},"invoicePdfId":{"type":"string","description":"BILL-generated ID of the invoice PDF. The value begins with `att`.\n\nThe invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment."}},"description":"Invoices response."},"InvoiceResponseLineItem":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the invoice line item. The value begins with `00f`."},"description":{"type":"string","description":"Invoice line item description"},"price":{"type":"number","description":"Invoice line item unit price. For an invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the invoice line item"}]}},"description":"Invoice Response Line Item."},"InvoiceScheduleRequest":{"type":"object","properties":{"period":{"allOf":[{"$ref":"#/components/schemas/PeriodRequest"},{"description":"Time period for setting up recurring invoices"}]},"frequency":{"type":"integer","description":"Invoice frequency per time `period`.\n\nFor example, if the time `period` is `MONTHLY` and `frequency` is `3`, an invoice is generated once every 3 months.","format":"int32"},"nextDueDate":{"type":"string","description":"Due date for the next invoice. This value is in the `yyyy-MM-dd` format.","format":"date"},"endDate":{"type":"string","description":"End date for the recurring invoices schedule. Recurring invoices stop on the `endDate`. This value is in the `yyyy-MM-dd` format.","format":"date"},"daysInAdvance":{"type":"integer","description":"Number of days before `nextDueDate` when the next invoice is generated. If the date has occurred in the past for one or more invoices, all those invoices are generated.","format":"int32"}},"description":"Schedule properties for a recurring Invoices."},"InvoiceScheduleResponse":{"type":"object","properties":{"period":{"allOf":[{"$ref":"#/components/schemas/PeriodResponse"},{"description":"Time period for setting up recurring invoices."}]},"frequency":{"type":"integer","description":"Invoice frequency per time `period`.\n\nFor example, if the time `period` is `MONTHLY` and `frequency` is `3`, an invoice is generated once every 3 months.","format":"int32"},"nextDueDate":{"type":"string","description":"Due date for the next invoice. This value is in the `yyyy-MM-dd` format.","format":"date"},"endDate":{"type":"string","description":"End date for the recurring invoices schedule. Recurring invoices stop on the `endDate`. This value is in the `yyyy-MM-dd` format.","format":"date"},"daysInAdvance":{"type":"integer","description":"Number of days before `nextDueDate` when the next invoice is generated. If the date has occurred in the past for one or more invoices, all those invoices are generated.","format":"int32"}},"description":"Schedule properties for a recurring Invoices."},"InvoiceStatus":{"type":"string","description":"Invoice status enum.","enum":["PAID_IN_FULL","OPEN","PARTIAL_PAYMENT","SCHEDULED","UNDEFINED"]},"InvoiceUpdateLineItem":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the invoice line item. The value begins with `00f`."},"description":{"maxLength":4000,"type":"string","description":"Invoice line item description"},"price":{"type":"number","description":"Invoice line item unit price. For an invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the invoice line item"}]}},"description":"Invoice Update Request Line Item."},"InvoiceUpdateRequestDto":{"type":"object","properties":{"invoiceNumber":{"maxLength":100,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme.\n\nIf you do not set this field, `invoiceNumber` is auto-generated."},"invoiceDate":{"type":"string","description":"Invoice creation date. This value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `invoiceDate` is set as the date when the invoice is created.","format":"date"},"dueDate":{"type":"string","description":"Invoice due date. The value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `dueDate` is set as the date when the invoice is created.","format":"date"},"customer":{"allOf":[{"$ref":"#/components/schemas/InvoiceCustomer"},{"description":"Customer contact information.\n\n* Set the customer `id` for associating an existing customer to the invoice.\n\n* Set `name` and `email` for creating a new customer with the invoice.\n\nIn the response, a new BILL-generated customer `id` is available."}]},"invoiceLineItems":{"type":"array","description":"Invoice line item information","items":{"$ref":"#/components/schemas/InvoiceUpdateLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/InvoiceProcessingOptions"},{"description":"Invoice processing options"}]},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the invoice payment. The value begins with `0ca`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the invoice"}]},"creditAmount":{"minimum":0,"type":"number","description":"Credit amount applied to the invoice.\n\nBILL applies the credit amount from the total of all the credit memos available for the customer."},"enableCardPayment":{"type":"boolean","description":"Set as `true` if the card payment option is enabled for the invoice"},"convenienceFee":{"allOf":[{"$ref":"#/components/schemas/ConvenienceFeeRequestDto"},{"description":"Convenience fee information. The customer is charged the convenience fee when they pay the invoice using a card. To set the convenience fee, `enableCardPayment` must be set as `true`."}]},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the invoice line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"invoicePdfId":{"type":"string","description":"BILL-generated ID of the invoice PDF. The value begins with `att`.\n\nThe invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment.\n\n**Note**: You can get the list of invoice attachments with `GET /v3/attachments/invoices/{invoiceId}`. All the attachments in the list (including the invoice PDF) are sent as email attachments when you send the invoice to the customer."}},"description":"Update an invoice","example":{"invoiceLineItems":[{"id":"{{invoice_line_item_id01}}","quantity":2,"description":"Classic extreme drum sticks (amount updated)","price":19.99}]}},"ItemTypeRequest":{"type":"string","description":"ItemType.","enum":["UNKNOWN","SERVICE","INVENTORY","NON_INVENTORY","PAYMENT","DISCOUNT","SALES_TAX","SUBTOTAL","OTHER_CHARGE","INVENTORY_ASSEMBLY","GROUP","SALES_TAX_GROUP","FIXED_ASSET","CATEGORY","EXPENSE"]},"ItemTypeResponse":{"type":"string","description":"Item type response.","enum":["UNDEFINED","UNKNOWN","SERVICE","INVENTORY","NON_INVENTORY","PAYMENT","DISCOUNT","SALES_TAX","SUBTOTAL","OTHER_CHARGE","INVENTORY_ASSEMBLY","GROUP","SALES_TAX_GROUP","FIXED_ASSET","CATEGORY","EXPENSE"]},"ListAllOrganizationsResponseDto":{"type":"object","description":"Get list of organizations response.","allOf":[{"$ref":"#/components/schemas/ListAllResponseDto_AllOrganizationsResponseDto_"}]},"ListAllResponseDto_AllOrganizationsResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"$ref":"#/components/schemas/AllOrganizationsResponseDto"}},"description":"Response from a list API request with paging references."},"ListAttachmentResponseDto":{"type":"object","description":"Get list of attachments response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_AttachmentResponseDto_"}]},"ListBillResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_BillReadWithoutApproversResponseDto_"}]},"ListBillUserApprovalsResponseDto":{"type":"object","properties":{"bills":{"type":"array","description":"List of bills pending approval","items":{"$ref":"#/components/schemas/BillUserApprovalsResponseDto"}}},"description":"List Bill User Approvals Response Dto."},"ListBillingStatementResponseDto":{"type":"object","description":"Response DTO for listing billing statements.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_BillingStatementResponseDto_"}]},"ListCardFundingPurposesResponseDto":{"type":"object","properties":{"lastUsedPurpose":{"type":"string","description":"Last used purpose. This value was last used as the `cardFundingPurpose` value in a payment request.\n\n**Note**: This field is available only for the AMEX, VISA, and MASTERCARD card brands."},"results":{"type":"array","description":"List of card funding purpose values based on the vendor and card brand. Use a `subCategories` value for an AMEX, VISA, or MASTERCARD card brand. Use a `category` value for all other card brands.","items":{"$ref":"#/components/schemas/FundingPurpose"}}},"description":"Card funding purposes dto."},"ListClassificationAccountingClassResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationAccountingClassResponseDto_"}]},"ListClassificationChartOfAccountsResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationChartOfAccountsResponseDto_"}]},"ListClassificationDepartmentResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationDepartmentResponseDto_"}]},"ListClassificationEmployeeResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationEmployeeResponseDto_"}]},"ListClassificationItemResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationItemResponseDto_"}]},"ListClassificationJobResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationJobResponseDto_"}]},"ListClassificationLocationResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ClassificationLocationResponseDto_"}]},"ListCreditMemoResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_CreditMemoWithUsageResponseDto_"}]},"ListCustomerBankAccountResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_CustomerBankAccountResponseDto_"}]},"ListCustomerResponseDto":{"type":"object","description":"Get list of customers response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_CustomerResponseDto_"}]},"ListDocumentResponseDto":{"type":"object","description":"Get list of documents response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_DocumentResponseDto_"}]},"ListExportResponseDto":{"type":"object","description":"Export response list wrapper.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ExportResponseDto_"}]},"ListIndustriesResponseDto":{"type":"object","properties":{"results":{"type":"array","items":{"type":"string"}}},"description":"List type for Industries list."},"ListInvoiceResponseDto":{"type":"object","description":"Get list of invoices response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_InvoiceResponseDto_"}]},"ListMfaPhoneResponseDto":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/MfaPhoneResponseDto"}}},"description":"List type for MFA Phones list."},"ListOrganizationBankAccountResponseDto":{"type":"object","description":"Get list of bank accounts response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_OrganizationBankAccountResponseDto_"}]},"ListOrganizationBankAccountUserResponseDto":{"type":"object","description":"Get list of bank account users response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_OrganizationBankAccountUserResponseDto_"}]},"ListOrganizationCardAccountUserResponseDto":{"type":"object","description":"Get list of card account users response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_OrganizationCardAccountUserResponseDto_"}]},"ListOrganizationResponseDto":{"type":"object","description":"Get list of organizations response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_OrganizationResponseDto_"}]},"ListPayableCardAccountsFundingRate":{"type":"object","properties":{"creditCardRate":{"type":"number","description":"Credit card funding rate"},"debitCardRate":{"type":"number","description":"Debit card funding rate"}},"description":"List Payable Card Accounts Funding Rate."},"ListPayableCardAccountsRate":{"type":"object","properties":{"defaultCardAccountId":{"type":"string","description":"ID of the default card account"},"funding":{"allOf":[{"$ref":"#/components/schemas/ListPayableCardAccountsFundingRate"},{"description":"Card funding rates"}]},"activePromotion":{"allOf":[{"$ref":"#/components/schemas/ListPayableCardAccountsRateActivePromotion"},{"description":"Active promotions on the card"}]}},"description":"List Payable Card Accounts Rate."},"ListPayableCardAccountsRateActivePromotion":{"type":"object","properties":{"startDate":{"type":"string","description":"Promotion start date","format":"date-time"},"endDate":{"type":"string","description":"Promotion end date","format":"date-time"},"creditCardRate":{"type":"number","description":"Credit card rate"},"debitCardRate":{"type":"number","description":"Debit card rate"}},"description":"List Payable Card Accounts Rate Active Promotion."},"ListPayableCardAccountsResponseDto":{"type":"object","properties":{"rates":{"allOf":[{"$ref":"#/components/schemas/ListPayableCardAccountsRate"},{"description":"Applicable card rates"}]},"cards":{"type":"array","description":"List of card accounts","items":{"$ref":"#/components/schemas/CardAccountResponseDto"}}},"description":"List Card Accounts response DTO."},"ListPaymentResponseDto":{"type":"object","description":"Get list of payments response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_PaymentResponseDto_"}]},"ListReceivablePaymentResponseDto":{"type":"object","description":"List Receivable Payment response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_ReceivablePaymentResponseDto_"}]},"ListRecurringBillResponseDto":{"type":"object","description":"Get list of recurring bills response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_RecurringBillResponseDto_"}]},"ListRecurringInvoiceResponseDto":{"type":"object","description":"Get list of recurring invoices response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_RecurringInvoiceResponseDto_"}]},"ListResponseDto_AttachmentResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_BillReadWithoutApproversResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/BillReadWithoutApproversResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_BillingStatementResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/BillingStatementResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationAccountingClassResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationAccountingClassResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationChartOfAccountsResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationChartOfAccountsResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationDepartmentResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationDepartmentResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationEmployeeResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationEmployeeResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationItemResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationItemResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationJobResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationJobResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ClassificationLocationResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ClassificationLocationResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_CreditMemoWithUsageResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/CreditMemoWithUsageResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_CustomerBankAccountResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/CustomerBankAccountResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_CustomerResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/CustomerResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_DocumentResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/DocumentResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ExportResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ExportResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_InvoiceResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/InvoiceResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_OrganizationBankAccountResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationBankAccountResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_OrganizationBankAccountUserResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationBankAccountUserResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_OrganizationCardAccountUserResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationCardAccountUserResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_OrganizationResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_OrganizationUserResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationUserResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_PaymentResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/PaymentResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_ReceivablePaymentResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/ReceivablePaymentResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_RecurringBillResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/RecurringBillResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_RecurringInvoiceResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/RecurringInvoiceResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_RoleResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/RoleResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_VendorCreditWithUsageResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/VendorCreditWithUsageResponseDto"}}},"description":"Response from a list API request with paging references."},"ListResponseDto_VendorResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string"},"prevPage":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/VendorResponseDto"}}},"description":"Response from a list API request with paging references."},"ListRoleResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_RoleResponseDto_"}]},"ListTransactionCustomFieldResponseDto":{"type":"object","properties":{"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/CustomFieldDto"}}},"description":"Transaction custom field response list."},"ListUserResponseDto":{"type":"object","description":"Get list of vendors response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_OrganizationUserResponseDto_"}]},"ListVendorCreditResponseDto":{"type":"object","description":"Response from a list API request with paging references.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_VendorCreditWithUsageResponseDto_"}]},"ListVendorResponseDto":{"type":"object","description":"Get list of vendors response.","allOf":[{"$ref":"#/components/schemas/ListResponseDto_VendorResponseDto_"}]},"LoginAsUserRequestDto":{"required":["organizationId","userId"],"type":"object","properties":{"userId":{"minLength":1,"type":"string","description":"BILL-generated ID of the user you want to sign in as"},"organizationId":{"minLength":1,"type":"string","description":"BILL-generated ID of the organization you want to sign in to"},"rememberMeId":{"type":"string","description":"MFA ID. Set this field for creating an MFA-trusted API session.\n\nThis MFA ID is generated when you set `rememberMe` as `true` in your `POST /v3/mfa/challenge/validate` request. This value expires in 30 days.\n\nSee [Validate MFA challenge](https://developer.bill.com/reference/validatechallenge) for more information."},"device":{"type":"string","description":"Mobile device name. This is a nickname for your mobile device. This field is required when you set `rememberMeId`."}},"description":"API login as user","example":{"userId":"{{partner_user_id}}","organizationId":"{{partner_organization_id}}"}},"LoginAsUserResponseDto":{"type":"object","properties":{"sessionId":{"type":"string","description":"API session ID. Use this value in all subsequent API calls to confirm that you are in a signed-in session."},"trusted":{"type":"boolean","description":"This field is set as `true` if the current API session is MFA-trusted"}},"description":"API login as user response."},"LoginRequestDto":{"required":["devKey","organizationId","username"],"type":"object","properties":{"devKey":{"type":"string","description":"Developer key sent to you by BILL when you create a developer account"},"username":{"type":"string","description":"Email address used to sign in to your BILL account"},"password":{"type":"string","description":"Password used to sign in to your BILL account"},"consoleApiToken":{"type":"string","description":"Console API token.\n\nAs a BILL Accountant Console user, use `POST /v3/login` to sign in to a client organization.\n* `username`: Your BILL Accountant Console email address\n* `consoleApiToken`: Your Console API token\n* `devKey`: Developer key of the client organization\n* `organizationId`: Organization ID of the client organization\n\nSee [BILL Accountant Console operations](https://developer.bill.com/docs/bill-accountant-console-operations) for more information."},"organizationId":{"type":"string","description":"Organization ID"},"rememberMeId":{"type":"string","description":"MFA ID. Set this field for creating an MFA-trusted API session.\n\nThis MFA ID is generated when you set `rememberMe` as `true` in your `POST /v3/mfa/challenge/validate` request. This value expires in 30 days.\n\nSee [Validate MFA challenge](https://developer.bill.com/reference/validatechallenge) for more information."},"device":{"type":"string","description":"Mobile device name. This is a nickname for your mobile device. Set this field when you set `rememberMeId`."}},"description":"API login","example":{"username":"{{username}}","password":"{{password}}","organizationId":"{{organization_id}}","devKey":"{{developer_key}}"}},"LoginResponseDto":{"required":["organizationId","sessionId","trusted","userId"],"type":"object","properties":{"sessionId":{"type":"string","description":"API session ID. Use this value in all subsequent API calls to confirm that you are in a signed-in session."},"organizationId":{"type":"string","description":"Organization ID associated with the signed-in user"},"userId":{"type":"string","description":"BILL-generated ID of the signed-in user"},"trusted":{"type":"boolean","description":"This field is set as `true` if the current API session is MFA-trusted"}},"description":"Login response."},"MassPaymentDetailsResponseDto":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of payments in the mass payment batch","format":"int32","example":100},"scheduled":{"type":"array","description":"Scheduled payments. For each payment in the list, BILL has not started generating a payment `id` value and API response.","items":{"$ref":"#/components/schemas/ScheduledPaymentDto"}},"completed":{"type":"array","description":"Completed payments. For each payment in the list, BILL has successfully generated a payment `id` value and API response.\n\nIn the response, if the payment `id` is the same for multiple bills, the vendor has `combinePayments` set as `true`.\n\n**Note**: From the list of `completed` payments, BILL begins processing payments based on the payment `processDate`.","items":{"$ref":"#/components/schemas/CompletedPaymentDto"}},"failed":{"type":"array","description":"Failed payments. An error response is available for each failed payment.","items":{"$ref":"#/components/schemas/FailedPaymentDto"}}},"description":"Mass payment details response DTO."},"MassPaymentRequestDto":{"type":"object","description":"Create a mass payment","example":{"processDate":"2026-12-16","fundingAccount":{"type":"BANK_ACCOUNT","id":"{{org_bank_account_id}}"},"payments":[{"billId":"{{bill_id01}}","amount":228.99},{"billId":"{{bill_id02}}","amount":142}]},"allOf":[{"$ref":"#/components/schemas/BulkPaymentRequestDto"}]},"MassPaymentResponseDto":{"type":"object","properties":{"paymentBatchId":{"type":"string","description":"BILL-generated ID of the mass payment batch. The value begins with `bbq`.","example":"{{mass_payment_batch_id}}"}},"description":"Mass payment response DTO."},"MfaChallengeRequestDto":{"type":"object","properties":{"useBackup":{"type":"boolean","description":"Set as `false` to generate the token with the primary device. The default value is `false`.","deprecated":true}},"description":"Generate MFA challenge","example":{"useBackup":"false"}},"MfaChallengeResponseDto":{"type":"object","properties":{"challengeId":{"type":"string","description":"MFA challenge ID. This value is required for validating the MFA challenge with `POST /v3/mfa/challenge/validate`."}},"description":"Response for MFA challenge."},"MfaChallengeValidateRequestDto":{"required":["challengeId","token"],"type":"object","properties":{"challengeId":{"type":"string","description":"MFA `challengeId` from the `POST /v3/mfa/challenge` response"},"token":{"type":"string","description":"Validation `token` sent to the registered phone number"},"device":{"type":"string","description":"Mobile device name. This is a nickname for your mobile device. Set this field when `rememberMe` is set as `true`."},"machineName":{"type":"string","description":"Machine name. This is a nickname for the machine used to complete MFA sign in. Set this field when `rememberMe` is set as `true`."},"rememberMe":{"type":"boolean","description":"Set as `true` for the generated MFA ID to expire in 30 days"}},"description":"Validate MFA challenge","example":{"challengeId":"{{mfa_challenge_id}}","token":"{{mfa_token}}","device":"{{mfa_device_name}}","machineName":"{{mfa_machine_name}}","rememberMe":true}},"MfaChallengeValidateResponseDto":{"type":"object","properties":{"rememberMeId":{"type":"string","description":"MFA ID. This value expires in 30 days.\n\nWhen your API session is expiring, this value is required for generating a new MFA-trusted API session with `POST /v3/login`."}},"description":"Response for MFA challenge validation."},"MfaPhoneResponseDto":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/MfaPhoneType"},{"description":"Phone type."}]},"last4digits":{"type":"string","description":"Phone number last four digits"},"primary":{"type":"boolean","description":"Set as `true` to mark the phone number as the primary mobile device","deprecated":true}},"description":"MFA Phone."},"MfaPhoneType":{"type":"string","description":"Response for MFA Phone Type.","enum":["MOBILE","HOME","WORK"]},"MfaSetupRequestDto":{"required":["phone","type"],"type":"object","properties":{"phone":{"type":"string","description":"Phone number for MFA setup. The validation `token` is sent to this number."},"type":{"allOf":[{"$ref":"#/components/schemas/MfaSetupType"},{"description":"Phone type for MFA setup.\n* `TEXT`: You receive the validation `token` as an SMS test message.\n* `VOICE`: You receive the validation `token` by an automated phone call"}]},"primary":{"type":"boolean","description":"Set as `true` to mark the phone number as the primary mobile device. The default value is `true`.","deprecated":true}},"description":"Add phone for MFA setup","example":{"phone":"{{user_phone_no}}","type":"TEXT","primary":true}},"MfaSetupResponseDto":{"required":["setupId"],"type":"object","properties":{"setupId":{"type":"string","description":"MFA setup ID. This value is required for completing your MFA setup validation with `POST /v3/mfa/setup/validate`."}},"description":"MFA Setup response."},"MfaSetupType":{"type":"string","description":"Enum for different ways to do mfa setup.","enum":["VOICE","TEXT"]},"MfaSetupValidateRequestDto":{"required":["setupId","token","type"],"type":"object","properties":{"setupId":{"type":"string","description":"MFA `setupId` from the `POST /v3/mfa/setup` response"},"type":{"allOf":[{"$ref":"#/components/schemas/MfaSetupType"},{"description":"Phone type used for MFA setup"}]},"token":{"type":"string","description":"Validation `token` sent to the registered phone number"}},"description":"Validate MFA setup","example":{"setupId":"{{mfa_setup_id}}","type":"TEXT","token":"{{mfa_token}}"}},"MfaStatus":{"type":"string","enum":["DISABLED","SETUP","CHALLENGE","COMPLETE","UNDEFINED"]},"MfaStepUpRequestDto":{"type":"object","properties":{"rememberMeId":{"type":"string","description":"MFA ID. Set this field for creating an MFA-trusted API session.\n\nThis MFA ID is generated when you set `rememberMe` as `true` in your `POST /v3/mfa/challenge/validate` request. This value expires in 30 days.\n\nSee [Validate MFA challenge](https://developer.bill.com/reference/validatechallenge) for more information."},"device":{"type":"string","description":"Mobile device name. This is a nickname for your mobile device. Set this field when you set `rememberMeId`."}},"description":"Step-up request for MFA","example":{"rememberMeId":"{{mfa_remember_me_id}}","device":"{{mfa_device_name}}"}},"MfaStepUpResponseDto":{"type":"object","properties":{"trusted":{"type":"boolean","description":"This field is set as `true` if the current API session is MFA-trusted"}},"description":"Step-up response."},"NameValue":{"type":"object","properties":{"name":{"type":"string","description":"Name field"},"value":{"type":"string","description":"Value field"}},"description":"Class for name value pair."},"Network":{"type":"object","properties":{"id":{"type":"string","description":"Payment Network ID (PNI) of the organization. BILL uses the PNI to send and receive electronic payments."},"name":{"type":"string","description":"Organization name"},"type":{"allOf":[{"$ref":"#/components/schemas/NetworkAccountType"},{"description":"Account type."}]},"addresses":{"type":"array","description":"Organization address","items":{"$ref":"#/components/schemas/AddressDto"}},"managedBy":{"allOf":[{"$ref":"#/components/schemas/NetworkManagedBy"},{"description":"Search result metadata information"}]}},"description":"An organization in the BILL network or verified national vendor network."},"NetworkAccountType":{"type":"string","description":"Enum for different types of accounts in BILL network.","enum":["ADVANCED","BUSINESS","RPPS","CONTRACTOR","EMPLOYEE_OR_INDIVIDUAL","UNDEFINED"]},"NetworkInvitationStatus":{"type":"string","description":"Status of the invitation from customer/vendor to an organization.","enum":["NOT_CONNECTED","PENDING","CONNECTED","CONNECTED_RPPS"]},"NetworkManagedBy":{"type":"object","properties":{"name":{"type":"string","description":"Network managed by name"},"email":{"type":"string","description":"Network managed by email address"},"emailDomain":{"type":"string","description":"Verified email address domain"}},"description":"Metadata about who manages the network for the organization."},"NetworkSearchResponseDto":{"type":"object","properties":{"results":{"type":"array","description":"Results that match the search criteria","items":{"$ref":"#/components/schemas/Network"}}},"description":"Network search response."},"NetworkType":{"type":"string","description":"Enum for different types of network.","enum":["BILL","RPPS"]},"NominateBankAccountUserRequestDto":{"required":["bankAccountId","userId"],"type":"object","properties":{"userId":{"minLength":1,"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"bankAccountId":{"minLength":1,"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`.\n\n**Note**: The bank account `status` must be set as `VERIFIED`.\n"}},"description":"Nominate a bank account user","example":{"bankAccountId":"{{org_bank_account_id}}","userId":"{{org_user_id}}"}},"OrganizationAccountTypeRequest":{"type":"string","description":"Organization Account Type.","enum":["BUSINESS","CONTRACTOR","EMPLOYEE_OR_INDIVIDUAL","OTHER","CONSUMER"]},"OrganizationAccountTypeResponse":{"type":"string","description":"Organization Account Type.","enum":["BUSINESS","CONTRACTOR","EMPLOYEE_OR_INDIVIDUAL","OTHER","CONSUMER","UNDEFINED"]},"OrganizationAddress":{"required":["country"],"type":"object","properties":{"line1":{"pattern":"^.{0,1000}$","type":"string","description":"Address line 1"},"line2":{"pattern":"^.{0,100}$","type":"string","description":"Address line 2"},"city":{"pattern":"^.{0,100}$","type":"string","description":"Address city"},"stateOrProvince":{"pattern":"^.{0,100}$","type":"string","description":"State or province"},"zipOrPostalCode":{"pattern":"^.{0,30}$","type":"string","description":"Zip or postal code"},"country":{"allOf":[{"$ref":"#/components/schemas/CountryCode"},{"description":"Country code (ISO2)"}]}},"description":"Address information for create organization."},"OrganizationBankAccountCreateRequestDto":{"required":["bankName","nameOnAccount","ownerType","type"],"type":"object","properties":{"nameOnAccount":{"minLength":1,"type":"string","description":"Full name on bank account"},"routingNumber":{"type":"string","description":"Bank routing number. This field is required."},"accountNumber":{"type":"string","description":"Bank account number. This field is required."},"type":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"},{"description":"Bank account type"}]},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Bank account owner type"}]},"bankName":{"maxLength":100,"minLength":1,"type":"string","description":"Bank name. Set this field as a nickname for your bank account."},"accessToAdmins":{"type":"boolean","description":"Set as `true` to enable access to all users with the `ADMINISTRATOR` user role"},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bank account. The value begins with `0ca`."}},"description":"Create a bank account","example":{"nameOnAccount":"Agatha Ffringe","routingNumber":"074000010","accountNumber":"111222333","type":"CHECKING","ownerType":"BUSINESS","bankName":"Chase"}},"OrganizationBankAccountDefault":{"type":"object","properties":{"payables":{"type":"boolean","description":"Set as `true` if the bank account is set as default for Accounts Payable operations"},"receivables":{"type":"boolean","description":"Set as `true` if the bank account is set as default for Accounts Receivable operations"}},"description":"Bank account defaults."},"OrganizationBankAccountResponseDto":{"required":["archived","id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`."},"archived":{"type":"boolean","description":"Set as `true` if the bank account is archived"},"status":{"allOf":[{"$ref":"#/components/schemas/BankAccountStatus"},{"description":"Bank account status."}]},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the bank account. The value begins with `006`."},"routingNumber":{"type":"string","description":"Bank routing number"},"accountNumber":{"type":"string","description":"Bank account number"},"nameOnAccount":{"type":"string","description":"Full name on bank account"},"type":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"},{"description":"Bank account type"}]},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Bank account owner type"}]},"bankName":{"type":"string","description":"Bank name"},"accessToAdmins":{"type":"boolean","description":"Set as `true` to enable access to all users with the `ADMINISTRATOR` user role"},"default":{"allOf":[{"$ref":"#/components/schemas/OrganizationBankAccountDefault"},{"description":"Bank account default values for BILL AP and AR operations"}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the bank account. The value begins with `0ca`."}},"description":"Bank account response."},"OrganizationBankAccountUpdateRequestDto":{"type":"object","properties":{"nameOnAccount":{"type":"string","description":"Full name on bank account"},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Bank account owner type"}]},"bankName":{"maxLength":100,"type":"string","description":"Bank name. Set this field as a nickname for your bank account."},"accessToAdmins":{"type":"boolean","description":"Set as `true` to enable access to all users with the `ADMINISTRATOR` user role"},"default":{"allOf":[{"$ref":"#/components/schemas/OrganizationBankAccountDefault"},{"description":"Bank account default values for BILL AP and AR operations"}]},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the organization bank account. The value begins with `0ca`."}},"description":"Update a bank account","example":{"ownerType":"PERSONAL"}},"OrganizationBankAccountUserResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bank account user. The value begins with `bau`."},"bankAccountId":{"type":"string","description":"BILL-generated ID of the bank account. The value begins with `bac`."},"userId":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"archived":{"type":"boolean","description":"Set as `true` if the bank account user is archived"},"verificationStatus":{"allOf":[{"$ref":"#/components/schemas/OrganizationBankAccountUserStatus"},{"description":"Bank account user verification status."}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"Bank account user response."},"OrganizationBankAccountUserStatus":{"type":"string","description":"Bank account user verification status.","enum":["UNVERIFIED","NOMINATED","VERIFIED","UNDEFINED"]},"OrganizationCardAccountUserResponseDto":{"type":"object","properties":{"cardAccountId":{"type":"string","description":"BILL-generated ID of the card account. The value begins with `cat`."},"userId":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"archived":{"type":"boolean","description":"Set as `true` if the card account is archived"},"verificationStatus":{"allOf":[{"$ref":"#/components/schemas/OrganizationCardAccountUserStatus"},{"description":"Card account user verification status."}]}},"description":"Card account user response."},"OrganizationCardAccountUserStatus":{"type":"string","description":"Card account user verification status.","enum":["UNVERIFIED","NOMINATED","VERIFIED","UNDEFINED"]},"OrganizationCreateRequestDto":{"required":["address","name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":1,"type":"string","description":"Organization name"},"address":{"allOf":[{"$ref":"#/components/schemas/OrganizationAddress"},{"description":"Organization physical address"}]},"mailingAddress":{"allOf":[{"$ref":"#/components/schemas/OrganizationAddress"},{"description":"Organization mailing address"}]},"phone":{"pattern":"^(\\+?[1-9]\\d{0,2}[-\\s]?)?(\\(\\d{3}\\))?([0-9-\\s]{7,20})$","type":"string","description":"Organization phone number"},"companyOwner":{"allOf":[{"$ref":"#/components/schemas/CompanyOwner"},{"description":"Company owner information.\n\n**Note**: It is important that you set the company owner `name` when you create an organization. This helps the organization user to get through the risk verification and add funding account steps without errors."}]},"taxId":{"type":"string","description":"Organization tax ID. This value is required by the IRS for tax purposes."},"taxIdType":{"allOf":[{"$ref":"#/components/schemas/TaxIdTypeRequest"},{"description":"Organization tax ID type"}]},"industry":{"maxLength":500,"type":"string","description":"Organization industry"},"businessCategory":{"allOf":[{"$ref":"#/components/schemas/BusinessCategoryRequest"},{"description":"Organization business category"}]},"accountType":{"allOf":[{"$ref":"#/components/schemas/OrganizationAccountTypeRequest"},{"description":"Organization account type"}]},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/OrganizationProcessingOptions"},{"description":"Organization processing options"}]}},"description":"Create an organization","example":{"name":"Rice Cakes Inc","address":{"line1":"987 Home St","city":"San Jose","stateOrProvince":"CA","zipOrPostalCode":"95002","country":"US"},"phone":"{{org_phone_no}}","taxId":"999888777","taxIdType":"EIN","companyOwner":{"name":"Noodle Soupsmith","dateOfBirth":"1985-01-01"},"industry":"Restaurant Caterer or Bar","businessCategory":"LLC","accountType":"BUSINESS","processingOptions":{"mailingAddressSameAsPhysical":"true"}}},"OrganizationDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`."},"name":{"type":"string","description":"Organization name"},"consoleOrganizationId":{"type":"string","description":"BILL-generated ID of the console organization. The value begins with `008`.\n\nWhen a console organization is available in the response, this indicates that the console organization is a parent of the listed organization."}},"description":"Organization response."},"OrganizationPermission":{"type":"object","properties":{"card":{"allOf":[{"$ref":"#/components/schemas/CardPermission"},{"description":"Card funding account permissions"}]},"wallet":{"allOf":[{"$ref":"#/components/schemas/WalletPermission"},{"description":"Wallet (BILL balance) funding account permissions"}]}},"description":"Organization level permission response DTO."},"OrganizationProcessingOptions":{"type":"object","properties":{"mailingAddressSameAsPhysical":{"type":"boolean","description":"Set as `true` if the mailing address is the same as the physical address. The default value is `true`."},"individualTransferOut":{"type":"boolean","description":"Rule for how ACH transfers are made from the organization funding bank account to vendors.\n* Set as `true` for an individual ACH transfer for each payment made.\n* Set as `false` for a single batch ACH transfer for all payments made in a day. The default value is `false`.\n\n**Note**: You can set this field only when you update an organization (`PATCH /v3/organizations/{organizationId}`)."},"individualTransferIn":{"type":"boolean","description":"Rule for how ACH transfers are made from customers to the organization funding bank account.\n* Set as `true` for an individual ACH transfer for each payment received.\n* Set as `false` for a single batch ACH transfer for all payments received in a day. The default value is `false`.\n\n**Note**: You can set this field only when you update an organization (`PATCH /v3/organizations/{organizationId}`)."}},"description":"User provided options for having the same mailing address as the physical address."},"OrganizationResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the organization. The value begins with `008`."},"archived":{"type":"boolean","description":"Set as `true` if the organization is archived. You cannot archive an organization with the API."},"name":{"type":"string","description":"Organization name"},"address":{"allOf":[{"$ref":"#/components/schemas/AddressResponse"},{"description":"Organization physical address"}]},"mailingAddress":{"allOf":[{"$ref":"#/components/schemas/AddressResponse"},{"description":"Organization mailing address"}]},"phone":{"type":"string","description":"Organization phone number"},"companyOwner":{"allOf":[{"$ref":"#/components/schemas/CompanyOwner"},{"description":"Company owner information"}]},"taxId":{"type":"string","description":"Organization tax ID. This value is required by the IRS for tax purposes."},"taxIdType":{"allOf":[{"$ref":"#/components/schemas/TaxIdTypeResponse"},{"description":"Organization tax ID type."}]},"industry":{"type":"string","description":"Organization industry"},"businessCategory":{"allOf":[{"$ref":"#/components/schemas/BusinessCategoryResponse"},{"description":"Organization business category."}]},"accountType":{"allOf":[{"$ref":"#/components/schemas/OrganizationAccountTypeResponse"},{"description":"Organization account type."}]},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/OrganizationProcessingOptions"},{"description":"Organization processing options"}]},"partnerName":{"type":"string","description":"Partner name.\n\nThis field is available only when select BILL partners create an organization. Partner name is part of the information that BILL uses to identify partners."},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"Organization response."},"OrganizationUpdateRequestDto":{"type":"object","properties":{"name":{"maxLength":100,"type":"string","description":"Organization name"},"address":{"allOf":[{"$ref":"#/components/schemas/AddressUpdate"},{"description":"Organization physical address"}]},"mailingAddress":{"allOf":[{"$ref":"#/components/schemas/AddressUpdate"},{"description":"Organization mailing address"}]},"phone":{"pattern":"^(\\+?[1-9]\\d{0,2}[-\\s]?)?(\\(\\d{3}\\))?([0-9-\\s]{7,20})$","type":"string","description":"Organization phone number"},"companyOwner":{"allOf":[{"$ref":"#/components/schemas/CompanyOwner"},{"description":"Company owner information"}]},"taxId":{"type":"string","description":"Organization tax ID. This value is required by the IRS for tax purposes."},"taxIdType":{"allOf":[{"$ref":"#/components/schemas/TaxIdTypeRequest"},{"description":"Organization tax ID type"}]},"industry":{"maxLength":500,"type":"string","description":"Organization industry"},"businessCategory":{"allOf":[{"$ref":"#/components/schemas/BusinessCategoryRequest"},{"description":"Organization business category"}]},"accountType":{"allOf":[{"$ref":"#/components/schemas/OrganizationAccountTypeRequest"},{"description":"Organization account type"}]},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/OrganizationProcessingOptions"},{"description":"Organization processing options"}]}},"description":"Update an organization (zip code updated)","example":{"address":{"zipOrPostalCode":"95002"}}},"OrganizationUserCreateRequestDto":{"required":["acceptTermsOfService","email","firstName","lastName","roleId"],"type":"object","properties":{"firstName":{"maxLength":100,"minLength":1,"type":"string","description":"User first name"},"lastName":{"maxLength":100,"minLength":1,"type":"string","description":"User last name"},"email":{"minLength":1,"type":"string","description":"User email address"},"roleId":{"minLength":1,"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`.\n\nIf you do not set `roleId`, the default `ADMINISTRATOR` user role is assigned to the created user. You can get the list of available user roles with `GET /v3/roles`."},"acceptTermsOfService":{"type":"boolean","description":"Set as `true` if the user accepts the BILL terms of service"}},"description":"Create a user","example":{"firstName":"Clark","lastName":"Billenterson","email":"info@happymusicsupplies.org","roleId":"{{org_user_role_id}}","acceptTermsOfService":true}},"OrganizationUserResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the user. The value begins with `006`."},"archived":{"type":"boolean","description":"Set as `true` if the user is archived"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"email":{"type":"string","description":"User email address"},"role":{"allOf":[{"$ref":"#/components/schemas/UserRoleResponseDto"},{"description":"User role information"}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"Users response."},"OrganizationUserRoleType":{"type":"string","description":"Enumeration of organization user roles.","enum":["ADMINISTRATOR","CLERK","APPROVER","ACCOUNTANT","CUSTOM","PAYER","PARTNER","AUDITOR","NO_ACCESS","MEMBER","INTERNAL","PURCHASE_REQUESTER","CONSOLE_CUSTOM","UNDEFINED"]},"OrganizationUserUpdateRequestDto":{"type":"object","properties":{"firstName":{"maxLength":100,"type":"string","description":"User first name"},"lastName":{"maxLength":100,"type":"string","description":"User last name"},"roleId":{"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`.\n\nIf you do not set `roleId`, the default `ADMINISTRATOR` user role is assigned to the created user. You can get the list of available user roles with `GET /v3/roles`."}},"description":"Update a user (last name updated)","example":{"lastName":"Billson"}},"PaginatedBudgetMemberResponseDto":{"type":"object","description":"List of budget members with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_BudgetMemberResponseDto_"}]},"PaginatedBudgetsResponseDto":{"type":"object","description":"List of budgets with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_BudgetResponseDto_"}]},"PaginatedCardsResponseDto":{"type":"object","description":"List of cards with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_CardResponseDto_"}]},"PaginatedCustomFieldResponseDto":{"type":"object","description":"List of custom fields with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_CustomFieldResponseDto_"}]},"PaginatedCustomFieldValuesResponseDto":{"type":"object","description":"List of custom fields with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_CustomFieldValueResponseDto_"}]},"PaginatedReimbursementsResponseDto":{"type":"object","description":"List of reimbursements with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_ReimbursementResponseDto_"}]},"PaginatedTransactionsResponseDto":{"type":"object","description":"List of transactions with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_TransactionResponseDto_"}]},"PaginatedTxCFValueResponseDto":{"type":"object","description":"List of transaction custom field values with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_CustomFieldValueDto_"}]},"PaginatedUsersResponseDto":{"type":"object","description":"List of users with paging references.","allOf":[{"$ref":"#/components/schemas/PaginationResponseDto_UserResponseDto_"}]},"PaginationResponseDto_BudgetMemberResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/BudgetMemberResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_BudgetResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/BudgetResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_CardResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/CardResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_CustomFieldResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/CustomFieldResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_CustomFieldValueDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/CustomFieldValueDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_CustomFieldValueResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/CustomFieldValueResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_ReimbursementResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/ReimbursementResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_TransactionResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/TransactionResponseDto"}}},"description":"Response from a list API request with paging references."},"PaginationResponseDto_UserResponseDto_":{"type":"object","properties":{"nextPage":{"type":"string","description":"Next page token"},"prevPage":{"type":"string","description":"Previous page token"},"results":{"type":"array","description":"Results","items":{"$ref":"#/components/schemas/UserResponseDto"}}},"description":"Response from a list API request with paging references."},"Param":{"required":["name","value"],"type":"object","properties":{"additional":{"type":"object","additionalProperties":{"type":"string"}},"name":{"minLength":1,"type":"string"},"value":{"minLength":1,"type":"string"}}},"PartnerLoginRequestDto":{"required":["appKey","password","username"],"type":"object","properties":{"appKey":{"type":"string","description":"Application key sent to you by BILL when you create a partner account"},"username":{"type":"string","description":"Email address used to sign in to your BILL account"},"password":{"type":"string","description":"Password used to sign in to your BILL account"}},"description":"API partner login","example":{"username":"{{partner_username}}","password":"{{partner_password}}","appKey":"{{app_key}}"}},"PartnerLoginResponseDto":{"type":"object","properties":{"sessionId":{"type":"string","description":"API session ID. Use this value in all subsequent API calls to confirm that you are in a signed-in session."}},"description":"Login response."},"PartnerPricePlanType":{"type":"string","description":"The enum partner price plan.","enum":["PricePlan1","PricePlan2","PricePlan3","PricePlan4","PricePlan5"]},"PartnerUserCreateRequestDto":{"required":["acceptTermsOfService","email","firstName","username"],"type":"object","properties":{"firstName":{"maxLength":100,"minLength":1,"type":"string","description":"User first name"},"lastName":{"maxLength":100,"type":"string","description":"User last name"},"email":{"minLength":1,"type":"string","description":"User email address"},"roleId":{"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`.\n\nIf you do not set `roleId`, the default `ADMINISTRATOR` user role is assigned to the created user. You can get the list of available user roles with `GET /v3/partner/roles`."},"username":{"maxLength":1000,"minLength":1,"type":"string","description":"Username for signing in as the user.\n\nSet `username` as a unique alphanumeric value. The value must be 40 characters or fewer. This field is not case-sensitive. Do not set the value as an email address or any PII value. BILL uses this value to uniquely identify each user."},"externalReferenceId":{"type":"string","description":"Reference ID used as an external identifier.\n\nYou can set this field as a unique alphanumeric value for your system to refer to the created user."},"acceptTermsOfService":{"type":"boolean","description":"Set as `true` if the user accepts the BILL terms of service"}},"description":"Create a user","example":{"firstName":"Tomato","lastName":"Soupsmith","email":"tsoupsmith@ricecakes.org","roleId":"{{partner_user_role_id}}","username":"tsoupsm!th1","acceptTermsOfService":true}},"PartnerUserUpdateRequestDto":{"type":"object","properties":{"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"email":{"type":"string","description":"User email address"},"roleId":{"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`.\n\nIf you do not set `roleId`, the default `ADMINISTRATOR` user role is assigned to the created user. You can get the list of available user roles with `GET /v3/partner/roles`."}},"description":"Update a user (last name updated)","example":{"lastName":"Soupsmithson"}},"PayByType":{"type":"string","description":"Enum for PayByType.","enum":["CHECK","ACH","RPPS","OFFLINE","INTERNATIONAL_E_PAYMENT","VIRTUAL_CARD","WALLET","UNDEFINED"]},"PaymentClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."}},"description":"Payment classifications dto."},"PaymentInformationCommon":{"required":["payeeName"],"type":"object","properties":{"payeeName":{"pattern":"^.{3,100}$","type":"string","description":"Vendor name for check and electronic payments. This field is overridden when you connect with a vendor in the BILL network."},"email":{"type":"string","description":"Vendor email address for receiving payment information"}},"description":"Common payment information POJO."},"PaymentInformationRequest":{"type":"object","description":"The type Payment information.","allOf":[{"$ref":"#/components/schemas/PaymentInformationCommon"},{"properties":{"bankAccount":{"allOf":[{"$ref":"#/components/schemas/VendorBankAccountRequestDto"},{"description":"Vendor bank account information"}]},"paymentPurpose":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeRequest"},{"description":"Payment purpose information for compliance with international payment rules of the vendor country. This one-time configuration is required for enabling electronic payments to international vendors.\n\nYou can set `paymentPurpose` at the time of creating a vendor, updating vendor details, or creating a payment.\n\n**Note**: Set `paymentPurpose` only when it is required. Vendor countries, like Japan, do not require any payment purpose information. For such countries, setting `paymentPurpose` in your request results in an error response.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set `paymentPurpose`."}]}}}]},"PaymentInformationRequestUpdate":{"type":"object","properties":{"payeeName":{"type":"string","description":"Vendor name for check and electronic payments"},"email":{"type":"string","description":"Vendor email address for receiving payment information"},"paymentPurpose":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeRequest"},{"description":"Payment purpose information for compliance with international payment rules of the vendor country. This one-time configuration is required for enabling electronic payments to international vendors.\n\nYou can set `paymentPurpose` at the time of creating a vendor, updating vendor details, or creating a payment.\n\n**Note**: Set `paymentPurpose` only when it is required. Vendor countries, like Japan, do not require any payment purpose information. For such countries, setting `paymentPurpose` in your request results in an error response.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set `paymentPurpose`."}]}},"description":"Common payment information POJO."},"PaymentInformationResponse":{"type":"object","description":"The type PaymentInformationResponse.","allOf":[{"$ref":"#/components/schemas/PaymentInformationCommon"},{"properties":{"lastPaymentDate":{"type":"string","description":"Last payment date"},"payByType":{"allOf":[{"$ref":"#/components/schemas/PayByType"},{"description":"Payment method for BILL payments"}]},"payBySubType":{"allOf":[{"$ref":"#/components/schemas/DisbursementSubType"},{"description":"Payment delivery method for international payments."}]},"transferMethod":{"allOf":[{"$ref":"#/components/schemas/TransferMethod"},{"description":"Default payment delivery method for international payments. This field is set when `payBySubType` is set as `MULTIPLE`.\n* `LOCAL`: Funds transferred with the vendor country's domestic payment network\n* `WIRE`: Funds transferred with bank-operated networks (For example, SWIFT)"}]},"virtualCard":{"allOf":[{"$ref":"#/components/schemas/VirtualCard"},{"description":"Virtual card information.\n\n  **Note**: A vendor can be enrolled to accept virtual card payments   even without being connected in the BILL network. See   [Virtual card FAQ](https://help.bill.com/direct/s/article/360021237411) in the BILL Help   Center for more information."}]},"bankAccount":{"allOf":[{"$ref":"#/components/schemas/VendorBankAccountResponseDto"},{"description":"Vendor bank account information. This information is overridden when you connect with a vendor in the BILL network."}]},"paymentPurpose":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeResponse"},{"description":"Payment purpose information"}]}}}]},"PaymentOptionsResponseDto":{"required":["amount","vendorId"],"type":"object","properties":{"vendorId":{"type":"string","description":"BILL-generated ID of the vendor to be paid. The value begins with `009`."},"amount":{"type":"number","description":"Vendor payment amount"},"fundingOptions":{"allOf":[{"$ref":"#/components/schemas/FundingOptions"},{"description":"Funding options"}]}},"description":"Payments options response dto."},"PaymentPurpose":{"type":"object","properties":{"required":{"type":"boolean","description":"Set as `true` if payment purpose information is required. If `required` is set as `false`, `paymentPurpose` information is not required in your create vendor or payment API request."},"type":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeType"},{"description":"Payment purpose type. This field specifies whether the `text` field or `code` object is required in your `POST /v3/vendors` and `POST /v3/payments` API requests."}]},"codes":{"type":"array","description":"Available payment purpose codes","items":{"$ref":"#/components/schemas/NameValue"}}},"description":"Payment purpose for vendor."},"PaymentPurposeCodeRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name"}},"description":"Payment purpose code request."},"PaymentPurposeCodeResponse":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"value":{"type":"string","description":"Value"}},"description":"Payment purpose code response."},"PaymentPurposeRequest":{"type":"object","properties":{"text":{"maxLength":250,"type":"string","description":"Payment purpose text. This can be any user-defined text. If you set `text`, do not set `code`."},"code":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeCodeRequest"},{"description":"Payment purpose code. If you set the `code` object, do not set `text`."}]}},"description":"Payment purpose request."},"PaymentPurposeResponse":{"type":"object","properties":{"text":{"type":"string","description":"Payment purpose text"},"code":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeCodeResponse"},{"description":"Payment purpose code"}]}},"description":"Payment purpose response."},"PaymentPurposeType":{"type":"string","description":"Type of payment purpose.","enum":["CODE","TEXT"]},"PaymentRequestDto":{"required":["amount","fundingAccount","processingOptions"],"type":"object","properties":{"vendorId":{"type":"string","description":"BILL-generated ID of the vendor to be paid. The value begins with `009`.\n* If `vendorId` is set, it must match your bill’s vendor ID.\n* If `vendorId` is not set, the bill’s `vendorId` is automatically set."},"billId":{"type":"string","description":"BILL-generated ID of the bill to be paid. The value begins with `00n`. If `createBill` is `true`, do not set `billId` in your payment request."},"description":{"maxLength":70,"type":"string","description":"Bill payment description. This value is included in the check memo or in the bank descriptor for electronic payments."},"processDate":{"type":"string","description":"Payment process date in the `yyyy-MM-dd` format. On this date, BILL starts processing the payment and starts withdrawing funds from the sender's funding account.\n\nIf the funding account `type` is set as `WALLET` or `AP_CARD`, `processDate` is required. For other funding account types, if `processDate` is not set, the date is automatically set as the next US business day.\n\n**Note**: When you add a vendor bank account in the production environment, BILL requires 2 business days to complete a one-time verification of the bank account. To pay such a vendor, you must set a `processDate` that is 2 business days from the current date.","format":"date"},"exchangeRateBatchId":{"type":"integer","description":"Exchange rate batch ID. This field is required for paying international vendors when the vendor bill currency is not `USD`.\n\nGet the current BILL exchange rate and exchange rate batch ID with `GET /v3/payments/exchange-rate`.\n","format":"int32"},"fundingAccount":{"allOf":[{"$ref":"#/components/schemas/FundingAccountRequest"},{"description":"Payment funding information (Bank account, card account, or wallet)"}]},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency.\n\n**Note**: You cannot overpay a bill."},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/ProcessingOptionsRequest"},{"description":"Payment processing options"}]},"paymentPurpose":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeRequest"},{"description":"Payment purpose information for compliance with international payment rules of the vendor country. This one-time configuration is required for enabling electronic payments to international vendors.\n\nYou can set `paymentPurpose` at the time of creating a vendor, updating vendor details, or creating a payment. To set `paymentPurpose` at the time of creating a payment, use the information from `GET /v3/vendors/{vendorId}/configuration`.\n\n**Note**: Set `paymentPurpose` only when it is required. Vendor countries, like Japan, do not require any payment purpose information. For such countries, setting `paymentPurpose` in your request results in an error response.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set `paymentPurpose`."}]},"transactionNumber":{"maxLength":50,"type":"string","description":"Payment transaction reference used as an external identifier.\n\nYou can set this field as a unique alphanumeric value for your system to track the payment transaction. The value must be 50 characters or fewer. If you do not set `transactionNumber`, BILL sets this field as a unique alphanumeric payment identification value."},"cardFundingPurpose":{"type":"string","description":"Card funding purpose. This field is required for the `CARD_ACCOUNT` funding account `type` if BILL cannot identify the vendor industry.\n\nSee [Get card funding purpose](https://developer.bill.com/reference/listcardfundingpurposes) for more information."},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill payment. To edit the vendor credit amount applied to the bill, set the same vendor credit `id` in your payment request. To apply an additional vendor credit to the bill, set the new vendor credit `id` in your payment request.","items":{"$ref":"#/components/schemas/PaymentVendorCreditRequestDto"}}},"description":"Create a payment","example":{"vendorId":"{{vendor_id}}","billId":"{{bill_id}}","processDate":"2026-12-31","fundingAccount":{"type":"BANK_ACCOUNT","id":"{{org_bank_account_id}}"},"amount":228.99,"processingOptions":{"requestPayFaster":false,"createBill":false}}},"PaymentResponseDto":{"required":["amount"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`."},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor to be paid. The value begins with `009`."},"vendorName":{"type":"string","description":"Vendor name"},"billId":{"type":"string","description":"BILL-generated ID of the bill to be paid. The value begins with `00n`."},"billPayments":{"type":"array","description":"List of bill payments. When a payment is applied to a bill, the bill payment is identified by a bill payment `id`. The value begins with `blp`.","items":{"$ref":"#/components/schemas/BillPayment"}},"description":{"type":"string","description":"Bill payment description. This value is included in the check memo or in the bank descriptor for electronic payments."},"processDate":{"type":"string","description":"Payment process date in the `yyyy-MM-dd` format. On this date, BILL starts processing the payment and starts withdrawing funds from the sender's funding account.","format":"date"},"fundingAccount":{"allOf":[{"$ref":"#/components/schemas/FundingAccountResponse"},{"description":"Payment funding information"}]},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency."},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/ProcessingOptionsResponse"},{"description":"Payment processing options"}]},"transactionNumber":{"type":"string","description":"Payment transaction reference used as an external identifier.\n\nYou can set this field as a unique alphanumeric value for your system to track the payment transaction. The value must be 50 characters or fewer. If you do not set `transactionNumber`, BILL sets this field as a unique alphanumeric payment identification value."},"confirmationNumber":{"type":"string","description":"BILL-generated bill payment confirmation value"},"status":{"allOf":[{"$ref":"#/components/schemas/PaymentStatus"},{"description":"Payment status."}]},"exchangeRate":{"type":"number","description":"Exchange rate for the payment in an international currency (not USD)"},"fundingAmount":{"type":"number","description":"Payment amount in USD"},"onlinePayment":{"type":"boolean","description":"Payment source.\n* `true`: Payment is made with BILL (online)\n* `false`: Payment is made outside BILL and then recorded in BILL (offline)"},"disbursementType":{"allOf":[{"$ref":"#/components/schemas/DisbursementType"},{"description":"Disbursement type. This value is set when you create a payment. See `disbursementInfo` for information about the disbursement method used when BILL processes your payment."}]},"remittanceEmail":{"type":"string","description":"Remittance email address set for the vendor"},"createdTime":{"type":"string","description":"Payment created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Payment updated date and time","format":"date-time"},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the payment. The value begins with `006`."},"voidInfo":{"type":"array","description":"Void request information","items":{"$ref":"#/components/schemas/VoidInfo"}},"disbursementStatus":{"allOf":[{"$ref":"#/components/schemas/DisbursementStatus"},{"description":"Payment disbursement status"}]},"disbursementInfo":{"allOf":[{"$ref":"#/components/schemas/DisbursementInfo"},{"description":"Payment disbursement information. This information is based on the disbursement method used when BILL processes your payment.\n\nFor example, when BILL processes an ACH payment, `disbursementInfo` includes the `sentDate` and `arrivesByDate` fields."}]},"paymentPurpose":{"allOf":[{"$ref":"#/components/schemas/PaymentPurposeResponse"},{"description":"Payment purpose information"}]},"cardFundingPurpose":{"type":"string","description":"Card funding purpose"},"cancelRequestSubmitted":{"type":"boolean","description":"This field is set as `true` if a cancel payment request is submitted.\n\n**Note**: If the payment is cancelled, the payment `status` is set as `CANCELLED`."},"singleStatus":{"allOf":[{"$ref":"#/components/schemas/PaymentSingleStatus"},{"description":"Unified payment status. This field provides BILL payment lifecycle updates based on the `status` and `disbursementStatus` values in the response.\n\nSee [Single status payment values](https://developer.bill.com/docs/single-status-payment-values) in the Guides section for the list of available values."}]}},"description":"Payments response."},"PaymentSingleStatus":{"type":"string","enum":["DISBURSEMENT_FAILED_ACTION_NEEDED","DISBURSEMENT_FAILED_VENDOR_BANK_REJECTED","FUNDING_FAILED_ACTION_NEEDED","EXPIRING","FUNDS_ESCHEATED","CANCELED","FUNDING_FAILED_VOIDED","VOIDED","CLEARED","DELIVERED","DISBURSEMENT_ON_HOLD","VOID_PENDING","SENT","DISBURSEMENT_ON_HOLD_PAYER_IN_REVIEW","PROCESSED","FUNDING_STARTED","FUNDING_ON_HOLD","WAITING_ON_APPROVAL","SCHEDULED","READY_TO_FUND","CANCELLATION_IN_PROGRESS","UNDEFINED","PARTIALLY_CLAIMED","PAID_OFFLINE"]},"PaymentStatus":{"type":"string","description":"The enum Payment status dto.","enum":["APPROVING","SCHEDULED","PAID","CANCELLED","VOID","ESCHEATED","UNDEFINED"]},"PaymentVendorCreditRequestDto":{"required":["amount","id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit applied to the bill payment. The value begins with `vcr`."},"amount":{"minimum":0,"type":"number","description":"Credit amount"}},"description":"Payment vendor credit request DTO."},"PaymentVendorCreditResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the vendor credit applied to the bill payment. The value begins with `vcr`."},"amount":{"type":"number","description":"Credit amount"}},"description":"Payment vendor credit response DTO."},"PeriodIntervalType":{"type":"string","description":"PeriodIntervalType.","enum":["NONE","DAILY","WEEKLY","MONTHLY","QUARTERLY","YEARLY"]},"PeriodRequest":{"type":"string","description":"Period for scheduling a recurring bill.","enum":["DAILY","WEEKLY","MONTHLY","YEARLY","NONE"]},"PeriodResponse":{"type":"string","description":"Period for scheduling a recurring bill.","enum":["DAILY","WEEKLY","MONTHLY","YEARLY","NONE","UNDEFINED"]},"PhoneType":{"type":"string","description":"Enum for phone type.","enum":["MOBILE","HOME"]},"PhoneVerificationRequestDto":{"required":["phoneNumber","phoneType"],"type":"object","properties":{"phoneNumber":{"pattern":"(\\d{10}$)","type":"string","description":"Phone number"},"phoneType":{"allOf":[{"$ref":"#/components/schemas/PhoneType"},{"description":"Phone type"}]}},"description":"Add a phone number for risk verification","example":{"phoneNumber":"{{user_phone_no}}","phoneType":"MOBILE"}},"PlanTerm":{"type":"object","properties":{"type":{"type":"string","description":"Plan charge type"},"name":{"allOf":[{"$ref":"#/components/schemas/PlanTermItemName"},{"description":"Plan charge name"}]},"tier":{"type":"number","description":"Plan charge tier"},"quantity":{"type":"number","description":"Quantity for the plan charge"},"price":{"type":"number","description":"Plan charge"}},"description":"Plan Term."},"PlanTermItemName":{"type":"string","description":"The enum plan term item name.","enum":["users","credit","debit","documents","check_US","consoleUser","company","check_NonUS","ePayment","fax","zenBill","recvdEPayment","AR","PayPal","mailInvoices","supportChat","supportEmail","supportPhone","syncPremium","customRoles","trainingLvl1","trainingLvl2","trainingLvl3","acctMgmtLvl1","acctMgmtLvl2","acctMgmtLvl3","demoAccounts","centralBilling","firmBranding","salesTools","multipleModules","consoleCompany","accountantUser","unlimitedConsoles","discount","remoteCheckDeposit","xeroSync","approvalPolicy","featureUser","approvalUser","netsuite2","intacct","salesforce","fasterPayment_checkOvernight","fasterPayment_check2Day","fasterPayment_check3Day","fasterPayment_ach","fasterPayment_rpps","apLvl1","apLvl2","apLvl3","arLvl1","arLvl2","arLvl3","qbe","desBill","OLBUser","collaboratorUser","intlEPmtUSDWire","intlEPmtFxWire","intlEPmtFxIACH","voidCheck","voidCheckReturned","docUpload","billCreated","olbUserLastLogin","collaboratorLastLogin","invoiceEmailed","nsf","lastSupportAccess","amexPayment","netSuiteSyncImplementation","intacctSyncImplementation","syncSetup","hybridDataEntry","vcardPayment","vcardPaymentVoidReissue","suaProcessedCount","suaProcessedAmount","suaReturnedCount","suaReturnedAmount","premiumSupport","premiumSupportPlus","apiLicenseKeyFee","apiUserLicenseFee","apiMaintenanceFee","developerSupportFee","implementation","syncMigration","training","docsOnCD","contractBilling","receivedCCPaymentCount","walletPmt_IntlUSD","walletPmt_IntlFX","implementationNetSuite","implementationIntacct","implementationQuickBooksEnterprise","implementationMicrosoftDynamics","implementationSSO","cardFunded_ePayment","cardFunded_check","dynamicApprovals","syncImplementation","vCardProcessedCount","vCardProcessedAmount","vCardReturnedCount","vCardReturnedAmount","guestPay_ePayment","auditorUser","payByCardProcessedCount","payByCardProcessedAmount","payByCardChargeBackCount","payByCardChargeBackAmount","payByCardCheckUSCount","payByCardEPaymentCount","intlUSDTransactionCount","intlFXTransactionCount","intlFXTransactionAmount","noAccessUser","intlFXReturnedCount","intlFXReturnedAmount","fasterPayment_rtp","cardFunded_intlEPmtUSDWire","fasterPayment_vcard","applicableTax","other"]},"PricePlanResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the price plan. The value begins with `ppl`."},"name":{"type":"string","description":"Price plan name"},"monthlyPrice":{"type":"number","description":"Price plan monthly subscription fee"},"allowTrial":{"type":"boolean","description":"Set as `true` if the price plan allows a trial"},"priceVariesPerUser":{"type":"boolean","description":"Set as `true` if the price plan has per-user pricing"},"planTerms":{"type":"array","description":"Terms and conditions for additional charges in the price plan. These charges are for price plan features based on a combination of charge `type`, `tier`, `quantity`, and `price`.","items":{"$ref":"#/components/schemas/PlanTerm"}}},"description":"Organization price plan response."},"ProcessingOptionsRequest":{"type":"object","properties":{"requestPayFaster":{"type":"boolean","description":"Set as `true` to use BILL Pay Faster. This field is required if `requestCheckDeliveryType` is set.\n\n  See [Payments](https://developer.bill.com/docs/ap-payments)   in the Guides section for information about BILL Pay Faster payments."},"createBill":{"type":"boolean","description":"* Set as `false` to create a vendor payment for an existing bill.\n* Set as `true` to create a bill for a vendor payment. If `createBill` is `true`, do not set `billId` in your payment request."},"requestCheckDeliveryType":{"allOf":[{"$ref":"#/components/schemas/CheckDeliveryTypeRequest"},{"description":"BILL Pay Faster payment delivery type. The `RTP_DELIVERY` option is not available for vendor payments by check."}]}},"description":"User provided options for processing the payments request."},"ProcessingOptionsResponse":{"type":"object","properties":{"requestPayFaster":{"type":"boolean","description":"Set as `true` to use BILL Pay Faster. This field is required if `requestCheckDeliveryType` is set.\n\n  See [Payments](https://developer.bill.com/docs/ap-payments)   in the Guides section for information about BILL Pay Faster payments."},"createBill":{"type":"boolean","description":"* Set as `false` to create a vendor payment for an existing bill.\n* Set as `true` to create a bill for a vendor payment. If `createBill` is `true`, do not set `billId` in your payment request."},"requestCheckDeliveryType":{"allOf":[{"$ref":"#/components/schemas/CheckDeliveryTypeResponse"},{"description":"BILL Pay Faster payment delivery type. The `RTP_DELIVERY` option is not available for vendor payments by check."}]}},"description":"User provided options for processing the payments request."},"ProgramNetworkType":{"type":"string","description":"ProgramNetworkType enum for Spend \\& Expense Transactions.","enum":["VISA","MASTERCARD"]},"ReceiptImage":{"required":["filename","url","uuid"],"type":"object","properties":{"url":{"minLength":1,"type":"string","description":"Uploaded receipt URL"},"filename":{"minLength":1,"type":"string","description":"Receipt file name"},"uuid":{"minLength":1,"type":"string","description":"BILL-generated UUID for the receipt image"}},"description":"DTO representing an image from the Spend API."},"ReceiptStatusType":{"type":"string","description":"ReceiptStatusType enum for Spend \\& Expense Transactions.","enum":["VALIDATED","NOT_VALIDATED","ATTACHED","MISSING","NOT_REQUIRED","NOT_ATTACHED"]},"ReceiptSyncStatusType":{"type":"string","description":"ReceiptSyncStatusType enum for Spend \\& Expense Transactions.","enum":["NOT_SYNCED","SYNCED","SYNC_ERROR","NO_ATTACHMENTS"]},"ReceivableFundingAccountTypeRequestDto":{"type":"string","description":"Receivable funding account type for receivable payment API.","enum":["BANK_ACCOUNT"]},"ReceivableFundingAccountTypeResponse":{"type":"string","description":"Receivable funding account type for receivable payment API.","enum":["BANK_ACCOUNT","CARD_ACCOUNT"]},"ReceivablePaymentResponseDto":{"required":["amount"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the received payment. The value begins with `0rp`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"invoicePayments":{"type":"array","description":"List of invoice payments","items":{"$ref":"#/components/schemas/InvoicePay"}},"description":{"type":"string","description":"Invoice payment description. This value is included in the check memo or in the bank descriptor for electronic payments."},"paymentDate":{"type":"string","description":"Received payment date. Funds are withdrawn from the customer bank account on this date.","format":"date"},"fundingAccount":{"allOf":[{"$ref":"#/components/schemas/FundingAccount"},{"description":"Customer funding account information"}]},"receivablesAccount":{"allOf":[{"$ref":"#/components/schemas/ReceivablesAccount"},{"description":"Received payment funding account information"}]},"amount":{"type":"number","description":"Received payment amount. For a payment in an international currency (not USD), this value is in the local currency."},"unappliedAmount":{"type":"number","description":"Unapplied received payment amount. This value is available for an overpayment, double payment, or customer payment not currently linked to an invoice."},"convenienceFeeAmount":{"type":"number","description":"Convenience fee charged to the customer"},"receivablesType":{"allOf":[{"$ref":"#/components/schemas/InvoicePaymentTypeResponse"},{"description":"Received payment disbursement type."}]},"status":{"allOf":[{"$ref":"#/components/schemas/RecordInvoicePaymentStatus"},{"description":"Received payment status."}]},"referenceNumber":{"type":"string","description":"Received payment reference number"},"onlinePayment":{"type":"boolean","description":"Information about how the received payment is recorded.\n* `true`: The payment is received with BILL\n* `false`: The payment is received outside BILL, and then recorded in BILL"},"createdTime":{"type":"string","description":"Received payment created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Received payment updated date and time","format":"date-time"}},"description":"Receivable Payment response."},"ReceivablesAccount":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the received payment funding account"},"type":{"allOf":[{"$ref":"#/components/schemas/ReceivableFundingAccountTypeResponse"},{"description":"Received payment funding account type"}]}},"description":"Disbursement Account object."},"RecordBillPayRequestDto":{"required":["amount","billId"],"type":"object","properties":{"billId":{"minLength":1,"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"amount":{"type":"number","description":"Payment amount"},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill payment","items":{"$ref":"#/components/schemas/PaymentVendorCreditRequestDto"}}},"description":"Record bill pay request dto."},"RecordBillPayResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the bill payment. The value begins with `blp`."},"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"amount":{"type":"number","description":"Payment amount"},"vendorCredits":{"type":"array","description":"Vendor credits applied to the bill payment","items":{"$ref":"#/components/schemas/PaymentVendorCreditResponseDto"}}},"description":"Record bill pay response dto."},"RecordInvoiceItemRequestDto":{"required":["amount","id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`."},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency.\n\n**Note**: You cannot overpay an invoice."}},"description":"Record invoice item dto."},"RecordInvoiceItemResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the invoice. The value begins with `00e`."},"payments":{"type":"array","description":"Invoice payments","items":{"$ref":"#/components/schemas/InvoicePayment"}}},"description":"Record invoice details response."},"RecordInvoicePaymentStatus":{"type":"string","description":"Record Invoice payment status enum.","enum":["PAID","VOID","SCHEDULED","CANCELED","ESCHEATED","UNDEFINED"]},"RecordInvoiceRequestDto":{"required":["amount","invoices","paymentDate","paymentType"],"type":"object","properties":{"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"paymentDate":{"type":"string","description":"Invoice payment date. The value is in the `yyyy-MM-dd` format.","format":"date"},"paymentType":{"allOf":[{"$ref":"#/components/schemas/InvoicePaymentTypeRequest"},{"description":"Payment type"}]},"amount":{"type":"number","description":"Payment amount"},"description":{"maxLength":4000,"type":"string","description":"Payment description"},"invoices":{"type":"array","description":"List of invoice payments","items":{"$ref":"#/components/schemas/RecordInvoiceItemRequestDto"}}},"description":"Record AR payment","example":{"amount":"100","customerId":"{{customer_id}}","invoices":[{"amount":"100","id":"{{invoice_id}}"}],"paymentDate":"2026-12-20","paymentType":"CREDIT_CARD","description":"Accepted credit card payment in store"}},"RecordInvoiceResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the received payment. The value begins with `0rp`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"paymentType":{"$ref":"#/components/schemas/InvoicePaymentTypeResponse"},"paymentDate":{"type":"string","description":"Invoice payment date. The value is in the `yyyy-MM-dd` format.","format":"date"},"amount":{"type":"number","description":"Payment amount"},"unappliedAmount":{"type":"number","description":"Unapplied payment amount"},"status":{"allOf":[{"$ref":"#/components/schemas/RecordInvoicePaymentStatus"},{"description":"Payment status."}]},"description":{"type":"string","description":"Payment description"},"invoices":{"type":"array","description":"List of invoice payments","items":{"$ref":"#/components/schemas/RecordInvoiceItemResponseDto"}}},"description":"Record AR payment response."},"RecordPaymentRequestDto":{"required":["payments","processDate","toPrintCheck","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"processDate":{"type":"string","description":"Payment process date. The value is in the `yyyy-MM-dd` format.","format":"date"},"toPrintCheck":{"type":"boolean","description":"Set as `true` to set the payment check as printable in your accounting system. Use this field only for check payments.\n"},"classifications":{"allOf":[{"$ref":"#/components/schemas/PaymentClassificationsDto"},{"description":"General ledger classifications information for the payment"}]},"description":{"type":"string","description":"Payment description"},"syncReference":{"type":"string","description":"Payment reference ID in your accounting system. Set this field with payment information, such as check number.\n"},"payments":{"minItems":1,"type":"array","description":"List of bill payments","items":{"$ref":"#/components/schemas/RecordBillPayRequestDto"}},"allowExport":{"type":"boolean","description":"Set as `true` to sync the bill payment with your accounting system\n"}},"description":"Record AP payment","example":{"vendorId":"{{vendor_id}}","processDate":"2026-12-20","toPrintCheck":false,"payments":[{"billId":"{{bill_id}}","amount":70}]}},"RecordPaymentResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the payment. The value begins with `stp`."},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."},"billPayments":{"type":"array","description":"List of bill payments","items":{"$ref":"#/components/schemas/RecordBillPayResponseDto"}},"description":{"type":"string","description":"Payment description"},"processDate":{"type":"string","description":"Payment process date. The value is in the `yyyy-MM-dd` format.","format":"date"},"amount":{"type":"number","description":"Payment amount. For a payment in an international currency (not USD), this value is in the local currency."},"transactionNumber":{"type":"string","description":"BILL-generated alphanumeric payment identification value"},"confirmationNumber":{"type":"string","description":"BILL-generated bill payment confirmation value"},"status":{"allOf":[{"$ref":"#/components/schemas/PaymentStatus"},{"description":"Payment status."}]},"exchangeRate":{"type":"number","description":"Exchange rate for the payment in an international currency (not USD)"},"fundingAmount":{"type":"number","description":"Payment amount in USD"},"onlinePayment":{"type":"boolean","description":"Payment source.\n* `true`: Payment is made with BILL (online)\n* `false`: Payment is made outside BILL and then recorded in BILL (offline)\n\nThis field is set as `false` for the Record AP payment operation."},"disbursementType":{"allOf":[{"$ref":"#/components/schemas/DisbursementType"},{"description":"Disbursement type. This field is set as `OFFLINE` for the Record AP payment operation."}]},"remittanceEmail":{"type":"string","description":"Remittance email address set for the vendor"},"createdTime":{"type":"string","description":"Payment created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Payment updated date and time","format":"date-time"},"createdBy":{"type":"string","description":"BILL-generated ID of the user that created the payment. The value begins with `006`."},"disbursementStatus":{"allOf":[{"$ref":"#/components/schemas/DisbursementStatus"},{"description":"Payment disbursement status. This field is set as `DONE` for the Record AP payment operation.\n"}]},"singleStatus":{"allOf":[{"$ref":"#/components/schemas/PaymentSingleStatus"},{"description":"Unified payment status. This field provides BILL payment lifecycle updates based on the `status` and `disbursementStatus` values in the response.\n\nThis field is set as `PAID_OFFLINE` for the Record AP payment operation."}]},"toPrintCheck":{"type":"boolean","description":"Set as `true` to set the payment check as printable in your accounting system. Use this field only for check payments.\n"},"classifications":{"allOf":[{"$ref":"#/components/schemas/PaymentClassificationsDto"},{"description":"General ledger classifications information for the payment"}]},"syncReference":{"type":"string","description":"Payment reference ID in your accounting system. Set this field with payment information, such as check number.\n"},"allowExport":{"type":"boolean","description":"Set as `true` to sync the bill payment with your accounting system\n"}},"description":"Record offline payment response dto."},"RecurringBillCreateLineItem":{"required":["amount"],"type":"object","properties":{"amount":{"type":"number","description":"Recurring bill line item amount. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Recurring bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringBillLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring bill line item"}]}},"description":"Line items that define a bill's overall amount."},"RecurringBillCreateRequestDto":{"required":["recurringBillLineItems","schedule","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"maxLength":4000,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or bill due date."},"schedule":{"allOf":[{"$ref":"#/components/schemas/ScheduleRequest"},{"description":"Recurring bill scheduling information"}]},"recurringBillLineItems":{"type":"array","description":"Recurring bill line item information","items":{"$ref":"#/components/schemas/RecurringBillCreateLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/RecurringBillProcessingOptions"},{"description":"Payment processing options.\n\n**Note**: Enabling recurring bill `autoPayment` requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process."}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/RecurringBillPaymentInformation"},{"description":"Payment information"}]}},"description":"Create a recurring bill","example":{"vendorId":"{{vendor_id}}","schedule":{"period":"MONTHLY","frequency":1,"nextDueDate":"2026-12-31","endDate":"2027-11-01","daysInAdvance":5},"recurringBillLineItems":[{"amount":19.99,"description":"Monthly subscription"}],"processingOptions":{"autoPayment":true},"paymentInformation":{"bankAccountId":"{{org_bank_account_id}}"}}},"RecurringBillLineItemClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"employeeId":{"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`."},"jobId":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"itemId":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."}},"description":"DTO for Bill Line Item classifications."},"RecurringBillPaymentInformation":{"type":"object","properties":{"bankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used to pay each bill. The value begins with `bac`."}},"description":"Payment info for a recurring bill."},"RecurringBillProcessingOptions":{"type":"object","properties":{"autoPayment":{"type":"boolean","description":"Set as `true` to enable auto-payment for each bill"}},"description":"User provided options for processing the recurring payment."},"RecurringBillReplaceLineItem":{"required":["amount"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the recurring bill line item. The value begins with `tli`."},"amount":{"type":"number","description":"Recurring bill line item amount. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Recurring bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringBillLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring bill line item"}]}},"description":"Line items that define a bill's overall amount."},"RecurringBillReplaceRequestDto":{"required":["recurringBillLineItems","schedule","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"maxLength":4000,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or bill due date."},"schedule":{"allOf":[{"$ref":"#/components/schemas/ScheduleRequest"},{"description":"Recurring bill scheduling information"}]},"recurringBillLineItems":{"type":"array","description":"Recurring bill line item information","items":{"$ref":"#/components/schemas/RecurringBillReplaceLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/RecurringBillProcessingOptions"},{"description":"Payment processing options.\n\n**Note**: Enabling recurring bill `autoPayment` requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process."}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/RecurringBillPaymentInformation"},{"description":"Payment information"}]}},"description":"Replace a recurring bill (line item added)","example":{"vendorId":"{{vendor_id}}","schedule":{"period":"MONTHLY","frequency":1,"nextDueDate":"2026-12-31","endDate":"2027-11-01","daysInAdvance":5},"recurringBillLineItems":[{"amount":19.99,"description":"Monthly subscription"},{"amount":4.99,"description":"Decaf black tea (10 bags)"}],"paymentInformation":{"bankAccountId":"{{org_bank_account_id}}"}}},"RecurringBillResponseDto":{"required":["archived","id","recurringBillLineItems","schedule","vendorId"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the recurring bill. The value begins with `btp`."},"archived":{"type":"boolean","description":"Set as `true` if the recurring bill is archived"},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"type":"string","description":"Recurring bill description"},"schedule":{"allOf":[{"$ref":"#/components/schemas/ScheduleResponse"},{"description":"Recurring bill scheduling information"}]},"recurringBillLineItems":{"type":"array","description":"Recurring bill line item information","items":{"$ref":"#/components/schemas/RecurringBillResponseLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/RecurringBillProcessingOptions"},{"description":"Payment processing options"}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/RecurringBillPaymentInformation"},{"description":"Payment information"}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"Recurring bills response."},"RecurringBillResponseLineItem":{"required":["amount"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the recurring bill line item. The value begins with `tli`."},"amount":{"type":"number","description":"Recurring bill line item amount. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"type":"string","description":"Recurring bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringBillLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring bill line item"}]}},"description":"Line items that define a bill's overall amount."},"RecurringBillUpdateLineItem":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring bill line item. The value begins with `tli`."},"amount":{"type":"number","description":"Recurring bill line item amount. For a bill in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Recurring bill line item description"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringBillLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring bill line item"}]}},"description":"Line items that define a bill's overall amount."},"RecurringBillUpdateRequestDto":{"type":"object","properties":{"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"description":{"maxLength":4000,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or bill due date."},"schedule":{"allOf":[{"$ref":"#/components/schemas/ScheduleRequest"},{"description":"Recurring bill scheduling information"}]},"recurringBillLineItems":{"type":"array","description":"Recurring bill line item information","items":{"$ref":"#/components/schemas/RecurringBillUpdateLineItem"}},"processingOptions":{"allOf":[{"$ref":"#/components/schemas/RecurringBillProcessingOptions"},{"description":"Payment processing options.\n\n**Note**: Enabling recurring bill `autoPayment` requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process."}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/RecurringBillPaymentInformation"},{"description":"Payment information"}]}},"description":"Update a recurring bill","example":{"recurringBillLineItems":[{"id":"{{recurring_bill_line_item_id01}}","amount":22.99,"description":"Monthly subscription (amount updated)","quantity":1}]}},"RecurringInvoiceLineItemClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"jobId":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"itemId":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."}},"description":"DTO for Recurring Invoice Line Item classifications."},"RecurringInvoiceLineItemDto":{"type":"object","properties":{"amount":{"type":"number","description":"Recurring invoice line item amount. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Recurring invoice line item description"},"price":{"type":"number","description":"Recurring invoice line item unit price. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Recurring invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringInvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring invoice line item"}]}},"description":"Recurring Invoice Create Request Line Item."},"RecurringInvoiceLineItemResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the recurring invoice line item. The value begins with `ril`.\n"},"amount":{"type":"number","description":"Recurring invoice line item amount. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"description":{"type":"string","description":"Recurring invoice line item description"},"price":{"type":"number","description":"Recurring invoice line item unit price. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Recurring invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringInvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring invoice line item"}]},"taxable":{"type":"boolean","description":"Set as `true` if the recurring invoice line item is taxable"}},"description":"Recurring Invoice Line Item."},"RecurringInvoiceReplaceLineItem":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the recurring invoice line item. The value begins with `ril`.\n"},"amount":{"type":"number","description":"Recurring invoice line item amount. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Recurring invoice line item description"},"price":{"type":"number","description":"Recurring invoice line item unit price. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Recurring invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringInvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring invoice line item"}]}},"description":"Replace RecurringInvoice line item request Dto."},"RecurringInvoiceReplaceRequestDto":{"required":["customerId","recurringInvoiceLineItems","schedule"],"type":"object","properties":{"customerId":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"description":{"maxLength":4000,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or invoice due date."},"schedule":{"allOf":[{"$ref":"#/components/schemas/InvoiceScheduleRequest"},{"description":"Recurring invoice scheduling information"}]},"recurringInvoiceLineItems":{"type":"array","description":"Recurring invoice line item information","items":{"$ref":"#/components/schemas/RecurringInvoiceReplaceLineItem"}},"sendEmail":{"type":"boolean","description":"Set as `true` to send an email to the customer when an invoice is created."}},"description":"Replace a recurring invoice (line item added)","example":{"customerId":"{{customer_id}}","schedule":{"period":"MONTHLY","frequency":1,"nextDueDate":"2026-12-31","endDate":"2027-11-01","daysInAdvance":5},"recurringInvoiceLineItems":[{"id":"{{recurring_invoice_line_item_id01}}","amount":19.99,"description":"Monthly subscription","quantity":1},{"amount":4.99,"description":"Decaf black tea (10 bags)","quantity":1}]}},"RecurringInvoiceResponseDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the recurring invoice. The value begins with `rit`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"description":{"type":"string","description":"Recurring invoice line item description"},"archived":{"type":"boolean","description":"Set as `true` if the recurring invoice is archived"},"schedule":{"allOf":[{"$ref":"#/components/schemas/InvoiceScheduleResponse"},{"description":"Recurring invoice scheduling information"}]},"recurringInvoiceLineItems":{"type":"array","description":"Recurring invoice line item information","items":{"$ref":"#/components/schemas/RecurringInvoiceLineItemResponseDto"}},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the recurring invoice line item"}]},"sendEmail":{"type":"boolean","description":"Set as `true` to send an email to the customer when an invoice is created."},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"RecurringInvoice response Dto."},"RecurringInvoiceUpdateLineItemDto":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the recurring invoice line item. The value begins with `ril`.\n"},"amount":{"type":"number","description":"Recurring invoice line item amount. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"description":{"maxLength":4000,"type":"string","description":"Recurring invoice line item description"},"price":{"type":"number","description":"Recurring invoice line item unit price. For a recurring invoice in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Recurring invoice line item unit quantity"},"classifications":{"allOf":[{"$ref":"#/components/schemas/RecurringInvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the recurring invoice line item"}]}},"description":"Line items that define a recurring invoice overall amount."},"ReimbursementActionRequestDto":{"required":["action"],"type":"object","properties":{"action":{"allOf":[{"$ref":"#/components/schemas/ReimbursementActionType"},{"description":"Reimbursement action. Set this field as `APPROVE` or `DENY`."}]},"note":{"type":"string","description":"Reimbursement action note"}},"description":"Approve or deny a reimbursement","example":{"action":"APPROVE","note":"Team lunch expense approved"}},"ReimbursementActionType":{"type":"string","description":"Enum representing the type of action to take on a reimbursement.","enum":["APPROVE","DENY"]},"ReimbursementImageUploadUrlResponseDto":{"type":"object","properties":{"url":{"type":"string","description":"Pre-signed URL for uploading a receipt"}},"description":"API response for creating a reimbursement image upload URL."},"ReimbursementReceiptRequestDto":{"required":["filename","url"],"type":"object","properties":{"url":{"minLength":1,"type":"string","description":"Uploaded receipt URL"},"filename":{"minLength":1,"type":"string","description":"Receipt file name"}},"description":"Add a reimbursement receipt","example":{"url":"{{se_reimbursement_url}}","filename":"{{file_name_with_extension}}"}},"ReimbursementResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the reimbursement"},"uuid":{"type":"string","description":"BILL-generated UUID of the reimbursement"},"amount":{"type":"number","description":"Reimbursement amount"},"fulfillmentType":{"allOf":[{"$ref":"#/components/schemas/FulfillmentType"},{"description":"Reimbursement fulfillment type."}]},"fundRequestAmount":{"type":"number","description":"Amount that must be added to the user funds for the user to have enough funds for this reimbursement"},"fundRequestBudgetAmount":{"type":"number","description":"Amount that must be added to the budget for the user to have enough funds for this reimbursement"},"merchantName":{"type":"string","description":"Merchant name for the expense"},"note":{"type":"string","description":"Reimbursement note. Use this field to describe the business purpose for the expense."},"submittedTime":{"type":"string","description":"Reimbursement request submission date and time","format":"date-time"},"occurredDate":{"type":"string","description":"Expense created date. The value is in the `yyyy-MM-dd` format.","format":"date"},"retired":{"type":"boolean","description":"This field is set as `true` if the reimbursement has been deleted"},"status":{"allOf":[{"$ref":"#/components/schemas/ReimbursementStatus"},{"description":"Reimbursement status."}]},"type":{"allOf":[{"$ref":"#/components/schemas/ReimbursementType"},{"description":"Reimbursement type."}]},"batchId":{"type":"string","description":"ACH batch ID.\n\nYou can use `batchId` to identify the set of reimbursements bundled together when funds are withdrawn from the company bank account. Reimbursements with the same `batchId` are withdrawn at the same time."},"batchAmount":{"type":"number","description":"ACH batch amount"},"statusHistory":{"type":"array","description":"Reimbursement approval status history","items":{"$ref":"#/components/schemas/StatusHistory"}},"budgetId":{"type":"string","description":"BILL-generated ID of the budget to be used for the reimbursement"},"budgetUuid":{"type":"string","description":"BILL-generated UUID of the budget to be used for the reimbursement"},"userId":{"type":"string","description":"BILL-generated ID of the user to be reimbursed"},"userUuid":{"type":"string","description":"BILL-generated UUID of the user to be reimbursed"},"receipts":{"type":"array","description":"List of reimbursement receipts","items":{"$ref":"#/components/schemas/ReceiptImage"}},"customFields":{"type":"array","description":"List of reimbursement custom fields and values","items":{"$ref":"#/components/schemas/CustomFieldDto"}}},"description":"DTO representing a reimbursement response."},"ReimbursementStatus":{"type":"string","description":"Enum representing the status for a reimbursement in the Spend API.","enum":["CREATED","AWAITING_APPROVAL","AWAITING_TIER2_APPROVAL","TIER2_APPROVAL_UNDONE","APPROVAL_UNDONE","DENIAL_UNDONE","APPROVED","CANCEL_PAYMENT","PAID","PAYMENT_FAILED","DENIED","DELETED","ARCHIVED","BUDGET_APPROVAL","ADMIN_APPROVAL","READY_TO_PAY","PAYMENT_PENDING"]},"ReimbursementType":{"type":"string","description":"Enum representing the type for a reimbursement in the Spend API.","enum":["PURCHASE","MILEAGE"]},"ReplaceCreditMemoLineItemDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the credit memo line item. The value begins with `cci`."},"description":{"type":"string","description":"Credit memo line item description"},"price":{"type":"number","description":"Credit memo line item unit price. For a credit memo in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Credit memo line item unit quantity"},"ratePercent":{"minimum":-100,"type":"number","description":"Credit memo line item rate percent. Use `ratePercent` to apply a discount or markup in your credit memo.\n\nBILL applies the discount to the sum of the `amount` values of all the line items above the `ratePercent` line item.\n\n**Note**: Use a separate line item to set a `ratePercent` for the credit memo. Set the `ratePercent` line item as the final line item. Do not set `price` and `quantity` in the line item when you set `ratePercent`.\n\nFor example, let's say you have two line items in a credit memo with an `amount` sum of `$150`. If you create a third line item with `ratePercent` set as `-10`, a 10% discount (`$15`) is applied to the `amount` sum of `$150`."},"taxable":{"type":"boolean","description":"Set as `true` if the credit memo line item is taxable"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the credit memo line item"}]}},"description":"Credit Memo Replace Request Line Item."},"ReplaceCreditMemoRequestDto":{"required":["creditDate","creditMemoLineItems","customerId","referenceNumber"],"type":"object","properties":{"customerId":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`.\n\n**Note**: You can set only one of `payToChartOfAccountId` or `payToBankAccountId`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]},"creditMemoLineItems":{"minItems":1,"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/ReplaceCreditMemoLineItemDto"}}},"description":"Replace a credit memo","example":{"customerId":"{{customer_id}}","referenceNumber":"202602-creditmemo","creditDate":"2026-12-28","description":"Paperless Credit Memo (line item added)","creditMemoLineItems":[{"description":"Premium drummer gloves","price":29.99,"quantity":1},{"id":"{{credit_memo_line_item_id01}}","description":"Classic extreme drum sticks","price":19.99,"quantity":2},{"id":"{{credit_memo_line_item_id02}}","description":"Metal guitar picks (5-pack)","price":50,"quantity":1},{"id":"{{credit_memo_line_item_id03}}","description":"10% discount","ratePercent":-10,"taxable":false}]}},"ReplaceCreditMemoWithIdRequestDto":{"required":["creditDate","creditMemoLineItems","customerId","id","referenceNumber"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`."},"customerId":{"minLength":1,"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`.\n\n**Note**: You can set only one of `payToChartOfAccountId` or `payToBankAccountId`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]},"creditMemoLineItems":{"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/ReplaceCreditMemoLineItemDto"}}},"description":"Replace CreditMemo request Dto."},"ReplaceVendorCreditLineItemDto":{"required":["amount"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the vendor credit line item. The value begins with `vci`."},"description":{"type":"string","description":"Vendor credit line item description"},"amount":{"type":"number","description":"Vendor credit line item amount. For a vendor credit in an international currency (not USD), this value is in the local currency."},"classifications":{"allOf":[{"$ref":"#/components/schemas/VendorCreditLineItemClassificationsDto"},{"description":"General ledger classifications information for the vendor credit line item"}]}},"description":"Vendor Credit Replace Request Line Item."},"ReplaceVendorCreditRequestDto":{"required":["creditDate","referenceNumber","vendorCreditLineItems","vendorId"],"type":"object","properties":{"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"vendorCreditLineItems":{"minItems":1,"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/ReplaceVendorCreditLineItemDto"}}},"description":"Replace a vendor credit","example":{"vendorId":"{{vendor_id}}","referenceNumber":"202602-vendorcredit","creditDate":"2026-12-28","description":"Happy Vendor Credit (line item added)","vendorCreditLineItems":[{"description":"Premium drummer gloves","amount":29.99},{"id":"{{vendor_credit_line_item_id01}}","description":"Classic extreme drum sticks","amount":19.99},{"id":"{{vendor_credit_line_item_id02}}","description":"Metal guitar picks (5-pack)","amount":50}]}},"ReplaceVendorCreditWithIdRequestDto":{"required":["creditDate","id","referenceNumber","vendorCreditLineItems","vendorId"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`."},"vendorId":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"maxLength":100,"minLength":1,"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"vendorCreditLineItems":{"minItems":1,"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/ReplaceVendorCreditLineItemDto"}}},"description":"Replace VendorCredit request Dto."},"ResponseStatus":{"type":"string","description":"Status of the response.","enum":["SUCCESS","FAILURE"]},"Review":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the review"},"isApproved":{"type":"boolean","description":"Set as `true` if the transaction was approved"},"note":{"type":"string","description":"Review note"},"createdTime":{"type":"string","description":"Review created date and time","format":"date-time"},"deletedTime":{"type":"string","description":"Review deleted date and time (if available)","format":"date-time"},"reviewerId":{"type":"string","description":"BILL-generated ID of the user who reviewed the transaction","deprecated":true},"reviewerUuid":{"type":"string","description":"BILL-generated UUID of the user who reviewed the transaction"}},"description":"Review class for Spend \\& Expense Transactions."},"Reviewer":{"type":"object","properties":{"approverType":{"allOf":[{"$ref":"#/components/schemas/ApproverType"},{"description":"Approver type."}]},"reviewedTime":{"type":"string","description":"Transaction review date and time","format":"date-time"},"status":{"allOf":[{"$ref":"#/components/schemas/TransactionReviewerStatusType"},{"description":"Review status."}]},"userId":{"type":"string","description":"BILL-generated ID of the user assigned to review the transaction","deprecated":true},"userUuid":{"type":"string","description":"BILL-generated UUID of the user assigned to review the transaction"},"userName":{"type":"string","description":"Display name of the user assigned to review the transaction"}},"description":"Spend \\& Expense transactions reviewer information."},"RoleResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`."},"type":{"allOf":[{"$ref":"#/components/schemas/OrganizationUserRoleType"},{"description":"User role type."}]},"description":{"type":"string","description":"User role description"},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"}},"description":"User roles response."},"RoleType":{"type":"string","description":"Spend \\& Expense User Role type information.","enum":["ADMIN","APPROVER","AUDITOR","BOOKKEEPER","MEMBER","FINANCE_ADMIN","NO_ACCESS"]},"RppsDisbursement":{"type":"object","properties":{"sentDate":{"type":"string","description":"ACH payment to verified national vendor sent date","format":"date"},"arrivesByDate":{"type":"string","description":"ACH payment to verified national vendor arrives by date","format":"date"},"traceNumber":{"type":"integer","description":"Payment trace number. This value is used to uniquely identify a payment in a batch.","format":"int32"},"batchNumber":{"type":"integer","description":"Payment batch number","format":"int32"}},"description":"Rpps disbursement dto when the disbursement type is ACH to verified national vendor."},"RppsInformation":{"required":["accountNumber"],"type":"object","properties":{"accountNumber":{"minLength":1,"type":"string","description":"Your billing statement account number with the verified national vendor organization.\n\nThis value must match the vendor `accountNumber` set while creating or updating a vendor."},"addressId":{"type":"string","description":"BILL-generated ID of the billing address for the verified national vendor organization. The value begins with `0ra`. Each address is identified by a unique ID."}},"description":"Dto for additional information needed when sending invite to organization in Rpps network."},"RuleKeyCreateDto":{"type":"string","description":"Keys for approval rules.","enum":["BILL_AMOUNT","BILL_LINE_ITEM_AMOUNT","CHART_OF_ACCOUNT_ID","VENDOR_ID"]},"RuleKeyResponse":{"type":"string","description":"Response enum of allowed keys for bill policy approval.","enum":["BILL_AMOUNT","BILL_LINE_ITEM_AMOUNT","ACCOUNTING_CLASS_ID","CHART_OF_ACCOUNT_ID","CUSTOMER_ID","DEPARTMENT_ID","EMPLOYEE_ID","JOB_ID","LOCATION_ID","VENDOR_ID","UNDEFINED"]},"RuleOperatorCreateDto":{"type":"string","description":"Operators for approval rules.","enum":["lt","gte","in"]},"RuleValueDto":{"type":"object","properties":{"value":{"type":"string","description":"Value"},"displayName":{"type":"string","description":"Display name"}},"description":"Rule value DTO."},"ScanStatus":{"type":"string","description":"Document Scan status.","enum":["NOT_SCANNED","CLEAN","INFECTED","IN_QUEUE","REJECTED","UNDEFINED"]},"ScheduleRequest":{"type":"object","properties":{"period":{"allOf":[{"$ref":"#/components/schemas/PeriodRequest"},{"description":"Time period for setting up recurring bills"}]},"frequency":{"type":"integer","description":"Bill frequency per time `period`.\n\nFor example, if the time `period` is `MONTHLY` and `frequency` is `3`, a bill is generated once every 3 months.","format":"int32"},"nextDueDate":{"type":"string","description":"Due date for the next bill. This value is in the `yyyy-MM-dd` format.","format":"date"},"endDate":{"type":"string","description":"End date for the recurring bills schedule. Recurring bills stop on the `endDate`. This value is in the `yyyy-MM-dd` format.","format":"date"},"daysInAdvance":{"type":"integer","description":"Number of days before `nextDueDate` when the next bill is generated. If the date has occurred in the past for one or more bills, all those bills are generated.","format":"int32"}},"description":"Schedule properties for a recurring bill."},"ScheduleResponse":{"type":"object","properties":{"period":{"allOf":[{"$ref":"#/components/schemas/PeriodResponse"},{"description":"Time period for setting up recurring bills"}]},"frequency":{"type":"integer","description":"Bill frequency per time `period`.\n\nFor example, if the time `period` is `MONTHLY` and `frequency` is `3`, a bill is generated once every 3 months.","format":"int32"},"nextDueDate":{"type":"string","description":"Due date for the next bill. This value is in the `yyyy-MM-dd` format.","format":"date"},"endDate":{"type":"string","description":"End date for the recurring bills schedule. Recurring bills stop on the `endDate`. This value is in the `yyyy-MM-dd` format.","format":"date"},"daysInAdvance":{"type":"integer","description":"Number of days before `nextDueDate` when the next bill is generated. If the date has occurred in the past for one or more bills, all those bills are generated.","format":"int32"}},"description":"Schedule properties for a recurring bill."},"ScheduledPaymentDto":{"type":"object","properties":{"billId":{"type":"string","description":"BILL-generated ID of the bill. The value begins with `00n`."}},"description":"Scheduled payment DTO."},"ScopeType":{"type":"string","description":"Network name. You can search in one or both networks.\n* Select `BILL` for BILL Network\n* Select `RPPS` for verified national vendor network\n* Select `ALL` for both networks","example":"BILL","enum":["BILL","RPPS","ALL"]},"SendInvoiceRequestDto":{"required":["recipient","replyTo"],"type":"object","properties":{"replyTo":{"allOf":[{"$ref":"#/components/schemas/InvoiceReplyTo"},{"description":"Invoice sender information"}]},"recipient":{"allOf":[{"$ref":"#/components/schemas/InvoiceRecipient"},{"description":"Invoice recipient information"}]}},"description":"Send an invoice to a customer","example":{"recipient":{"to":["{{customer_email}}"]},"replyTo":{"userId":"{{login_user_id}}"}}},"SessionInfoResponseDto":{"type":"object","properties":{"organizationId":{"type":"string","description":"BILL-generated ID of the current organization"},"userId":{"type":"string","description":"BILL-generated ID of the current user"},"mfaStatus":{"allOf":[{"$ref":"#/components/schemas/MfaStatus"},{"description":"MFA status of the organization.\n* `DISABLED`: MFA is disabled for the organization.\n* `SETUP`: MFA setup is incomplete. Validate phone to complete MFA setup.\n* `CHALLENGE`: MFA setup is complete. MFA challenge is required for MFA sign in.\n* `COMPLETE`: Both MFA setup and MFA sign in steps are complete. The API session is MFA trusted."}]},"mfaBypass":{"type":"boolean","description":"This field is set as `true` when MFA is disabled at the developer key level. All organizations that are linked to this developer key do not require MFA."}},"description":"Login session info."},"Severity":{"type":"string","enum":["ERROR","WARNING","INFORMATION"]},"SpendStatusDto":{"type":"object","properties":{"status":{"type":"string","description":"Status of the request, e.g. \"SUCCESS\""}},"description":"Simple DTO to respond to requests with a status of \"success\"."},"StatusDto":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ResponseStatus"},{"description":"Request status"}]}},"description":"The type Delete response dto."},"StatusHistory":{"type":"object","properties":{"actorId":{"type":"string","description":"BILL-generated ID of the user that approved or denied the reimbursement"},"actorRole":{"allOf":[{"$ref":"#/components/schemas/ActorRole"},{"description":"Reimbursement role of the user."}]},"occurredTime":{"type":"string","description":"Reimbursement action date and time","format":"date-time"},"note":{"type":"string","description":"Reimbursement action note"},"status":{"allOf":[{"$ref":"#/components/schemas/ReimbursementStatus"},{"description":"New status after the reimbursement action."}]}},"description":"DTO representing an action that happened on a reimbursement from the Spend API."},"TaxIdTypeRequest":{"type":"string","description":"The enum Tax id type enum.","enum":["EIN","SSN"]},"TaxIdTypeResponse":{"type":"string","description":"The enum Tax id type enum.","enum":["EIN","SSN","UNDEFINED"]},"ThreeDsActionType":{"type":"string","description":"Enum representing the action type for 3D Secure (3DS) transactions.","enum":["ACCEPT","REJECT"]},"ThreeDsChallengeStatus":{"type":"string","description":"Enum representing the status of a 3D Secure (3DS) challenge.","enum":["SKIPPED","PENDING","SENT","ACCEPTED","REJECTED","CANCELLED","TIMED_OUT","FAILED","UNDEFINED"]},"ThreeDsRequestDto":{"required":["action"],"type":"object","properties":{"action":{"allOf":[{"$ref":"#/components/schemas/ThreeDsActionType"},{"description":"3D Secure action. Set this field as `ACCEPT` or `REJECT`.","example":"ACCEPT"}]}},"description":"ThreeDsRequestDto represents a request for 3D Secure actions."},"ThreeDsResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the 3D Secure response"},"status":{"allOf":[{"$ref":"#/components/schemas/ThreeDsChallengeStatus"},{"description":"3D Secure challenge status"}]}},"description":"Response dto for three ds response."},"TransactionReceiptRequestDto":{"required":["url"],"type":"object","properties":{"url":{"minLength":1,"type":"string","description":"Uploaded receipt URL"}},"description":"Add a transaction receipt","example":{"url":"{{se_transaction_url}}"}},"TransactionResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the transaction","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the transaction"},"childTransactionIds":{"type":"array","description":"BILL-generated IDs of child transactions associated with the current transaction","deprecated":true,"items":{"type":"string"}},"childTransactionUuids":{"type":"array","description":"BILL-generated IDs of child transactions associated with the current transaction","items":{"type":"string"}},"isLocked":{"type":"boolean","description":"Set as `true` if the transaction is locked"},"isReconciled":{"type":"boolean","description":"Set as `true` if the transaction is reconciled"},"transactionType":{"allOf":[{"$ref":"#/components/schemas/TransactionType"},{"description":"Transaction type."}]},"parentTransactionId":{"type":"string","description":"BILL-generated ID of the parent transaction. This field is set on child transactions when a parent transaction is split.","deprecated":true},"userId":{"type":"string","description":"BILL-generated ID of the user who created the transaction","deprecated":true},"userUuid":{"type":"string","description":"BILL-generated UUID of the user who created the transaction"},"userName":{"type":"string","description":"Display name of the user who created the transaction"},"rawMerchantName":{"type":"string","description":"Raw merchant name for the transaction"},"merchantName":{"type":"string","description":"Readable (cleaned) merchant name for the transaction"},"budgetId":{"type":"string","description":"BILL-generated ID of the budget linked with the transaction","deprecated":true},"budgetUuid":{"type":"string","description":"BILL-generated UUID of the budget linked with the transaction"},"budgetName":{"type":"string","description":"Name of the budget linked with the transaction"},"parentBudgetUuid":{"type":"string","description":"BILL-generated UUID of the parent budget linked with the transaction"},"originalAuthTransactionId":{"type":"string","description":"BILL-generated ID of the originating authorization transaction","deprecated":true},"originalAuthTransactionUuid":{"type":"string","description":"BILL-generated UUID of the originating authorization transaction.\n\nAfter a transaction is authorized, it is set as cleared when it is complete. The `originalAuthTransactionUuid` ties the cleared transaction to the authorized transaction. The value is `null` when the transaction is not authorized."},"isCredit":{"type":"boolean","description":"Set as `true` if the transaction is a credit"},"currencyData":{"allOf":[{"$ref":"#/components/schemas/CurrencyData"},{"description":"Transaction currency information"}]},"receiptRequired":{"type":"boolean","description":"Set as `true` if a receipt is required to complete the transaction"},"reviewRequired":{"type":"boolean","description":"Set as `true` if a review is required to complete the transaction"},"status":{"allOf":[{"$ref":"#/components/schemas/TransactionStatusTagType"},{"description":"Transaction status"}]},"occurredTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"authorizedTime":{"type":"string","description":"Transaction authorized date and time","format":"date-time"},"complete":{"type":"boolean","description":"Set as `true` if the transaction has all the required fields completed"},"pointsAwarded":{"type":"integer","description":"Points awarded for the transaction. This value is `0` until the transaction is cleared.\n\n**Note**: Only `ADMIN` users can view any awarded points.","format":"int64"},"customFields":{"type":"array","description":"Transaction custom fields information","items":{"$ref":"#/components/schemas/CustomFieldDto"}},"receipts":{"type":"array","description":"List of receipts attached to the transaction","items":{"$ref":"#/components/schemas/ReceiptImage"}},"network":{"allOf":[{"$ref":"#/components/schemas/ProgramNetworkType"},{"description":"Transaction network type."}]},"isParent":{"type":"boolean","description":"Set as `true` if the transaction is the parent of another transaction"},"reviews":{"type":"array","description":"Transaction review information","items":{"$ref":"#/components/schemas/Review"}},"amount":{"type":"number","description":"Transaction amount including fees.\n\nWhen `amount` is negative, the transaction is a reversal or refund.\n* **Reversal**: For a reversal (cancel before funds are settled), `transactionType` is set as `AUTHORIZATION` and `amount` is a negative value.\n* **Refund**: For a refund (cancel after funds are settled), `transactionType` is set as `CLEAR` and `amount` is a negative value."},"transactedAmount":{"type":"number","description":"Transaction amount not including fees"},"fees":{"type":"number","description":"Sum of transaction fees (including `foreignExchangeFee`)"},"foreignExchangeFee":{"type":"number","description":"Foreign exchange fee for the transaction (if any)"},"receiptStatus":{"allOf":[{"$ref":"#/components/schemas/ReceiptStatusType"},{"description":"Receipt status."}]},"matchedClearTransactionId":{"type":"string","description":"BILL-generated ID of the cleared transaction. Use this ID to identify the transaction after it is cleared.","deprecated":true},"matchedClearTransactionUuid":{"type":"string","description":"BILL-generated UUID of the cleared transaction. Use this ID to identify the transaction after it is cleared."},"accountingIntegrationTransactions":{"type":"array","description":"Accounting system integration information","items":{"$ref":"#/components/schemas/AccountingIntegrationTransaction"}},"reviewers":{"type":"array","description":"Transaction reviewers information","items":{"$ref":"#/components/schemas/Reviewer"}},"cardId":{"type":"string","description":"BILL-generated ID of the card used to make the transaction","deprecated":true},"cardUuid":{"type":"string","description":"BILL-generated UUID of the card used to make the transaction"},"cardLastFour":{"type":"string","description":"Last four digits of the card number used to make the transaction"},"cardType":{"allOf":[{"$ref":"#/components/schemas/CardType"},{"description":"Type of the card used to make the transaction"}]},"receiptSyncStatus":{"allOf":[{"$ref":"#/components/schemas/ReceiptSyncStatusType"},{"description":"Transaction receipt sync status."}]},"merchantCategoryCode":{"type":"string","description":"Merchant category code"},"declineReason":{"type":"string","description":"Human-readable transaction decline reason. This field is available when `transactionType` is set as `DECLINE`."},"declineInternalReasonCode":{"type":"string","description":"Transaction decline reason code. This field is available when `transactionType` is set as `DECLINE`."},"cardPresent":{"type":"boolean","description":"Set as `true` if a physical card was present for the transaction"},"merchantLocation":{"allOf":[{"$ref":"#/components/schemas/TxMerchantLocationDto"},{"description":"Merchant location information for the transaction. This information is available when `cardPresent` is set as `true`."}]},"disputeStatus":{"allOf":[{"$ref":"#/components/schemas/DisputeStatusType"},{"description":"Dispute status for the transaction. This information is available when the transaction has been disputed."}]}},"description":"Transactions response."},"TransactionReviewerStatusType":{"type":"string","description":"Spend \\& Expense transactions reviewer status type.","enum":["WAITING","APPROVED","DENIED"]},"TransactionStatusTagType":{"type":"string","description":"StatusTag enum for Spend \\& Expense Transactions.","enum":["APPROVED","COMPLETE","DECLINED","DENIED","DISPUTE_LOST","DISPUTE_UPDATE","DISPUTE_WON","DISPUTED","DO_NOT_SYNC","INCOMPLETE","NONE","PENDING","PTR_INCOMPLETE","PTR_NEEDS_YOUR_APPROVAL","PTR_PENDING_APPROVAL","PTR_UPCOMING_APPROVAL","REVIEWED"]},"TransactionType":{"type":"string","description":"TransactionType.","enum":["CLEAR","DECLINE","AUTHORIZATION","OTHER"]},"TransferMethod":{"type":"string","description":"International Payment Transfer Method.","enum":["WIRE","LOCAL","UNDEFINED"]},"TxMerchantLocationDto":{"type":"object","properties":{"city":{"type":"string","description":"Merchant city"},"state":{"type":"string","description":"Merchant state or region"},"postalCode":{"type":"string","description":"Merchant zip or postal code"},"country":{"type":"string","description":"Merchant country"}},"description":"Transaction merchant address info."},"UpdateAccountRequest":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ChartOfAccountsTypeRequest"},{"description":"Type"}]},"number":{"type":"string","description":"Number"}},"description":"Update account request Dto."},"UpdateCardRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Card name","nullable":true},"budgetId":{"type":"string","description":"BILL-generated ID or UUID of the budget linked with the card","nullable":true},"availableFunds":{"type":"number","description":"Card spend limit for the current budget period","nullable":true},"recurringLimit":{"type":"number","description":"Card spend limit for all future budget periods","nullable":true},"expirationDate":{"type":"string","description":"User-generated expiration date. The value is in the `yyyy-MM-dd` format. BILL automatically closes the card account on this date. To remove the card expiration date, set this field as `null`.\n\n**Note**: Use the `validThru` value in the response as the expiration date in a card payment. Do not use the `expirationDate` value for this operation.","format":"date","nullable":true},"shareBudgetFunds":{"type":"boolean","description":"Set as `true` to share all the budget funds with the card. This option enables the card user to spend from unallocated budget funds when the allocation is empty.","nullable":true},"recurring":{"type":"boolean","description":"Card policy for recurring budget periods.\n* `true`: Renew the card funds in the next budget period\n* `false`: Card is available only for the current budget period\n\nIf you do not set this field, the card will retain its current policy.","nullable":true}},"description":"Update a virtual charge card (limit updated)","example":{"limit":"120"}},"UpdateClassificationAccountingClassRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Accounting class name"},"shortName":{"type":"string","description":"Accounting class short name"},"description":{"type":"string","description":"Accounting class description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent accounting class. You can set this field if this accounting class is a child object."}},"description":"Update an accounting class (description updated)","example":{"name":"Prepaid Subscriptions","description":"Prepaid Expenses account"}},"UpdateClassificationAccountingClassWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"name":{"type":"string","description":"Accounting class name"},"shortName":{"type":"string","description":"Accounting class short name"},"description":{"type":"string","description":"Accounting class description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent accounting class. You can set this field if this accounting class is a child object."}},"description":"Update ClassificationAccountingClass request Dto."},"UpdateClassificationChartOfAccountsRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Chart of accounts name"},"description":{"type":"string","description":"Chart of accounts description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent chart of accounts. You can set this field if this chart of accounts is a child object."},"account":{"allOf":[{"$ref":"#/components/schemas/UpdateAccountRequest"},{"description":"Chart of accounts details"}]}},"description":"Update a chart of accounts (description updated)","example":{"name":"Prepaid Expenses","description":"Prepaid expenses for Q4 2026","account":{"type":"EXPENSE","number":"1-020"}}},"UpdateClassificationChartOfAccountsWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"name":{"type":"string","description":"Chart of accounts name"},"description":{"type":"string","description":"Chart of accounts description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent chart of accounts. You can set this field if this chart of accounts is a child object."},"account":{"allOf":[{"$ref":"#/components/schemas/UpdateAccountRequest"},{"description":"Chart of accounts details"}]}},"description":"Update ClassificationChartOfAccounts with id request Dto."},"UpdateClassificationDepartmentRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Department name"},"shortName":{"type":"string","description":"Department short name"},"description":{"type":"string","description":"Department description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent department. You can set this field if this department is a child object."}},"description":"Update a department (description updated)","example":"{\n  \"name\": \"Sales Department\",\n  \"description\": \"Prepaid Expenses account\",\n}"},"UpdateClassificationDepartmentWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the department. The value begins with `dep`."},"name":{"type":"string","description":"Department name"},"shortName":{"type":"string","description":"Department short name"},"description":{"type":"string","description":"Department description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent department. You can set this field if this department is a child object."}},"description":"Update ClassificationDepartment with id request Dto."},"UpdateClassificationEmployeeRequestDto":{"type":"object","properties":{"firstName":{"type":"string","description":"Employee first name"},"lastName":{"type":"string","description":"Employee last name"},"shortName":{"type":"string","description":"Employee short name"},"parentId":{"type":"string","description":"BILL-generated ID of the parent employee. You can set this field if this employee is a child object."}},"description":"Update an employee (lastName updated)","example":{"firstName":"James","lastName":"Tarkowski"}},"UpdateClassificationEmployeeWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`."},"firstName":{"type":"string","description":"Employee first name"},"lastName":{"type":"string","description":"Employee last name"},"shortName":{"type":"string","description":"Employee short name"},"parentId":{"type":"string","description":"BILL-generated ID of the parent employee. You can set this field if this employee is a child object."}},"description":"Update ClassificationEmployee with id request Dto."},"UpdateClassificationItemRequestDto":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/ItemTypeRequest"},{"description":"Item type"}]},"shortName":{"type":"string","description":"Item short name"},"name":{"type":"string","description":"Item name"},"description":{"type":"string","description":"Item description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent item. You can set this field if this item is a child object."},"price":{"type":"number","description":"Item price"},"expenseChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item when it is used for bills or purchases in your accounting system. The value begins with `0ca`."},"purchaseDescription":{"type":"string","description":"Item description when it is used for bills or purchases in your accounting system"},"purchaseCost":{"type":"number","description":"Item purchase cost set in your accounting system"},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item. The value begins with `0ca`."},"taxable":{"type":"boolean","description":"Set as `true` if the item is taxable"},"percentage":{"type":"number","description":"Item tax percentage. You can set this field for a set of item `type` values.\n* `DISCOUNT`\n* `SALES_TAX`\n* `OTHER_CHARGE`\n"}},"description":"Update an item (percentage updated)","example":{"type":"SALES_TAX","percentage":3.25,"name":"State Sales Tax"}},"UpdateClassificationItemWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."},"type":{"allOf":[{"$ref":"#/components/schemas/ItemTypeRequest"},{"description":"Item type"}]},"shortName":{"type":"string","description":"Item short name"},"name":{"type":"string","description":"Item name"},"description":{"type":"string","description":"Item description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent item. You can set this field if this item is a child object."},"price":{"type":"number","description":"Item price"},"expenseChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item when it is used for bills or purchases in your accounting system. The value begins with `0ca`."},"purchaseDescription":{"type":"string","description":"Item description when it is used for bills or purchases in your accounting system"},"purchaseCost":{"type":"number","description":"Item purchase cost set in your accounting system"},"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts for the item. The value begins with `0ca`."},"taxable":{"type":"boolean","description":"Set as `true` if the item is taxable"},"percentage":{"type":"number","description":"Item tax percentage. You can set this field for a set of item `type` values.\n* `DISCOUNT`\n* `SALES_TAX`\n* `OTHER_CHARGE`\n"}},"description":"Update ClassificationItem request Dto."},"UpdateClassificationJobRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Job name"},"shortName":{"type":"string","description":"Job short name"},"description":{"type":"string","description":"Job description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent job. You can set this field if this job is a child object."}},"description":"Update a job (description updated)","example":{"name":"Kitchen Remodel","description":"New cabinets & countertop ($10,000 budget)"}},"UpdateClassificationJobWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"name":{"type":"string","description":"Job name"},"shortName":{"type":"string","description":"Job short name"},"description":{"type":"string","description":"Job description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent job. You can set this field if this job is a child object."}},"description":"Update ClassificationJob with id request Dto."},"UpdateClassificationLocationRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Location name"},"shortName":{"type":"string","description":"Location short name"},"description":{"type":"string","description":"Location description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent location. You can set this field if this location is a child object."}},"description":"Update a location (name updated)","example":{"name":"234 Main St Retail Store","description":"Retail store prepaid subscription expenses"}},"UpdateClassificationLocationWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"name":{"type":"string","description":"Location name"},"shortName":{"type":"string","description":"Location short name"},"description":{"type":"string","description":"Location description"},"parentId":{"type":"string","description":"BILL-generated ID of the parent location. You can set this field if this location is a child object."}},"description":"Update ClassificationLocation request Dto."},"UpdateCreditMemoLineItemDto":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo line item. The value begins with `cci`."},"description":{"type":"string","description":"Credit memo line item description"},"price":{"type":"number","description":"Credit Memo line item unit price. For a Credit memo in an international currency (not USD), this value is in the local currency."},"quantity":{"type":"number","description":"Credit memo line item unit quantity"},"ratePercent":{"minimum":-100,"type":"number","description":"Credit memo line item rate percent. Use `ratePercent` to apply a discount or markup in your credit memo.\n\nBILL applies the discount to the sum of the `amount` values of all the line items above the `ratePercent` line item.\n\n**Note**: Use a separate line item to set a `ratePercent` for the credit memo. Set the `ratePercent` line item as the final line item. Do not set `price` and `quantity` in the line item when you set `ratePercent`.\n\nFor example, let's say you have two line items in a credit memo with an `amount` sum of `$150`. If you create a third line item with `ratePercent` set as `-10`, a 10% discount (`$15`) is applied to the `amount` sum of `$150`."},"taxable":{"type":"boolean","description":"Set as `true` if the credit memo line item is taxable"},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceLineItemClassificationsDto"},{"description":"General ledger classifications information for the credit memo line item"}]}},"description":"Credit Memo Create Request Line Item."},"UpdateCreditMemoRequestDto":{"type":"object","properties":{"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"maxLength":100,"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`.\n\n**Note**: You can set only one of `payToChartOfAccountId` or `payToBankAccountId`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]},"creditMemoLineItems":{"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/UpdateCreditMemoLineItemDto"}}},"description":"Update a credit memo","example":{"description":"Paperless Credit Memo (Updated)","creditMemoLineItems":[{"id":"{{credit_memo_line_item_id01}}","description":"Classic extreme drum sticks","price":19.99,"quantity":2}]}},"UpdateCreditMemoWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the credit memo. The value begins with `ccr`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"referenceNumber":{"maxLength":100,"type":"string","description":"User-generated credit memo number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Credit memo issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Credit memo description"},"salesTaxItemId":{"type":"string","description":"BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the credit memo line items set as taxable.\n\nYou can set up a `SALES_TAX` percentage item with `POST /v3/classifications/items`."},"payToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the credit memo is applied to an invoice payment. The value begins with `0ca`."},"payToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the credit memo is applied to an invoice payment. The value begins with `bac`.\n\n**Note**: You can set only one of `payToChartOfAccountId` or `payToBankAccountId`."},"classifications":{"allOf":[{"$ref":"#/components/schemas/InvoiceClassificationsDto"},{"description":"General ledger classifications information for the credit memo"}]},"creditMemoLineItems":{"type":"array","description":"Credit memo line item information","items":{"$ref":"#/components/schemas/UpdateCreditMemoLineItemDto"}}},"description":"Update CreditMemo with id request Dto."},"UpdateCustomFieldDto":{"required":["customFieldId"],"type":"object","properties":{"customFieldId":{"type":"string","description":"BILL-generated ID or UUID of the custom field"},"selectedValues":{"type":"array","description":"List of selected custom field values. Set the custom field value ID or UUID values.\n\n**Note**: Clear the `selectedValues` array to clear all the custom field selected values.","items":{"type":"string"}},"note":{"type":"string","description":"Updated custom field note.\n\n**Note**: This field is available only for custom fields with `type` set as `NOTE`."}},"description":"DTO input object used to set custom fields on creating and updating objects (i.e. transactions and reimbursements) This DTO differs from UpdateCustomFieldRequestDto as that one updates the custom field itself and this DTO is used to update selected custom fields on transactions/reimbursements"},"UpdateCustomFieldRequestDto":{"type":"object","properties":{"name":{"type":"string","description":"Custom field name","nullable":true},"description":{"type":"string","description":"Custom field description","nullable":true},"allowCustomValues":{"type":"boolean","description":"Set as `true` if the custom field can have custom values","nullable":true},"minimumAmountForRequirement":{"type":"number","description":"Minimum transaction amount where the custom field is required","nullable":true},"required":{"type":"boolean","description":"Set as `true` if the custom field is required for all budgets. The default value is `false`.","nullable":true},"global":{"type":"boolean","description":"Set as `true` if the custom field applies to all budgets. The default value is `false`.","nullable":true},"selectedBudgetIds":{"type":"array","description":"List of budgets where the custom field is available. Set the budget ID or UUID values.","items":{"type":"string"}},"requiredBudgetIds":{"type":"array","description":"List of budgets where the custom field is required. Set the budget ID or UUID values.","items":{"type":"string"}}},"description":"Update a custom field (Description added)","example":{"description":"Engineering team offsite 2026"}},"UpdateCustomerBankAccountRequestDto":{"type":"object","properties":{"nickname":{"type":"string","description":"Customer bank account nickname"},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Customer bank account owner type"}]}},"description":"Update a customer bank account","example":{"nickname":"Check Mailworth Business Checking","ownerType":"BUSINESS"}},"UpdateOrgPricePlanRequest":{"required":["pricePlanType"],"type":"object","properties":{"pricePlanType":{"allOf":[{"$ref":"#/components/schemas/PartnerPricePlanType"},{"description":"Price plan type"}]}},"description":"Update an organization price plan","example":{"pricePlanType":"PricePlan1"}},"UpdateRecurringInvoiceRequestDto":{"type":"object","properties":{"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."},"description":{"maxLength":4000,"type":"string","description":"User-generated invoice number. This value can be your chosen number scheme or invoice due date."},"schedule":{"allOf":[{"$ref":"#/components/schemas/InvoiceScheduleRequest"},{"description":"Recurring invoice scheduling information"}]},"recurringInvoiceLineItems":{"type":"array","description":"Recurring invoice line item information","items":{"$ref":"#/components/schemas/RecurringInvoiceUpdateLineItemDto"}},"sendEmail":{"type":"boolean","description":"Set as `true` to send an email to the customer when an invoice is created."}},"description":"Update a recurring invoice","example":{"recurringInvoiceLineItems":[{"id":"{{recurring_invoice_line_item_id01}}","amount":22.99,"description":"Monthly subscription (amount updated)","quantity":1}]}},"UpdateReimbursementRequestDto":{"type":"object","properties":{"userId":{"type":"string","description":"BILL-generated ID of the user to be reimbursed"},"budgetId":{"type":"string","description":"BILL-generated ID of the budget to be used for the reimbursement"},"amount":{"type":"number","description":"Reimbursement amount"},"note":{"type":"string","description":"Reimbursement note. Use this field to describe the business purpose for the expense."},"merchantName":{"type":"string","description":"Merchant name for the expense"},"occurredDate":{"type":"string","description":"Expense created date. The value is in the `yyyy-MM-dd` format.","format":"date"},"customFields":{"type":"array","description":"List of reimbursement custom fields and values","items":{"$ref":"#/components/schemas/UpdateCustomFieldDto"}}},"description":"Update a reimbursement (Date updated)","example":{"occurredDate":"2026-12-26"}},"UpdateTxRequestDto":{"required":["budgetId"],"type":"object","properties":{"budgetId":{"type":"string","description":"BILL-generated ID or UUID of the budget linked with the transaction"}},"description":"Update a transaction","example":{"budgetId":"{{se_budget_uuid}}"}},"UpdateUserRequestDto":{"type":"object","properties":{"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"email":{"type":"string","description":"User email address"},"role":{"allOf":[{"$ref":"#/components/schemas/InputRoleType"},{"description":"User role.\n* `ADMIN`: The user manages the account with full access to settings, people, and activity.\n* `AUDITOR`: The user can view account activity and export activity for use in other systems.\n* `BOOKKEEPER`: The user helps the `ADMIN` with account management, and has view-only access to activity.\n* `MEMBER`: The user is able to spend company funds for assigned budgets."}]},"dateOfBirth":{"type":"string","description":"User date of birth. The value is in the `yyyy-MM-dd` format.","format":"date"}},"description":"Update a user (role updated)","example":{"role":"ADMIN"}},"UpdateVendorCreditLineItemDto":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit line item. The value begins with `vci`."},"description":{"type":"string","description":"Vendor credit line item description"},"amount":{"type":"number","description":"Vendor credit line item amount. For a vendor credit in an international currency (not USD), this value is in the local currency."},"classifications":{"allOf":[{"$ref":"#/components/schemas/VendorCreditLineItemClassificationsDto"},{"description":"General ledger classifications information for the vendor credit line item"}]}},"description":"Vendor Credit Create Request Line Item."},"UpdateVendorCreditRequestDto":{"type":"object","properties":{"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"maxLength":100,"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"vendorCreditLineItems":{"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/UpdateVendorCreditLineItemDto"}}},"description":"Update a vendor credit","example":{"description":"Happy Vendor Credit (amount updated)","vendorCreditLineItems":[{"id":"{{vendor_credit_line_item_id01}}","description":"Classic extreme drum sticks","amount":19.99}]}},"UpdateVendorCreditWithIdRequestDto":{"required":["id"],"type":"object","properties":{"id":{"minLength":1,"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`."},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"maxLength":100,"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"vendorCreditLineItems":{"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/UpdateVendorCreditLineItemDto"}}},"description":"Update VendorCredit with id request Dto."},"UploadStatus":{"type":"string","description":"Document upload status.","enum":["UPLOADED","IN_PROGRESS","IVA_PROCESSING","AUTOSAVED","FAILED"]},"UserDeletedReasonType":{"type":"string","description":"Delete card reason","example":"CANCELLED","enum":["CANCELLED","LOST","STOLEN","MISPLACED"]},"UserPermission":{"type":"object","properties":{"payOnline":{"type":"boolean","description":"This field is set as `true` if you can make online payments"}},"description":"User level permission response DTO."},"UserResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the user","deprecated":true},"uuid":{"type":"string","description":"BILL-generated UUID of the user"},"firstName":{"type":"string","description":"User first name"},"lastName":{"type":"string","description":"User last name"},"email":{"type":"string","description":"User email address"},"receiptEmail":{"type":"string","description":"Receipt categorization email address"},"retired":{"type":"boolean","description":"Set as `true` if the user is deleted"},"useCompanyMailingAddress":{"type":"boolean","description":"Set as `true` if the company email address is set for the user"},"smsOptIn":{"type":"boolean","description":"Set as `true` if SMS notifications are enabled for the user"},"hasDateOfBirth":{"type":"boolean","description":"Set as `true` if the user date of birth is set"},"role":{"allOf":[{"$ref":"#/components/schemas/RoleType"},{"description":"User role"}]},"createdTime":{"type":"string","description":"User created date and time","format":"date-time"}},"description":"Users response."},"UserRoleResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the user role. The value begins with `0po`."},"type":{"allOf":[{"$ref":"#/components/schemas/OrganizationUserRoleType"},{"description":"User role type."}]},"description":{"type":"string","description":"User role description"}},"description":"User roles response."},"ValidExchangeRateRangeDto":{"type":"object","properties":{"from":{"type":"number","description":"Amount range start"},"to":{"type":"number","description":"Amount range end"}},"description":"Valid exchange rate range information for the Exchange Rate Response DTO."},"Validations":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#/components/schemas/Field"}}},"description":"Vendor configuration validation information."},"VcardDisbursement":{"type":"object","properties":{"arrivesByDate":{"type":"string","description":"Virtual card payment arrives by date","format":"date"},"validUntil":{"type":"string","description":"Date until when the card is valid","format":"date"},"last4CardNumber":{"type":"string","description":"Masked number for virtual card"}},"description":"Virtual card disbursement dto when the disbursement type is virtual card."},"VendorBankAccountRequestDto":{"required":["accountNumber"],"type":"object","properties":{"nameOnAccount":{"type":"string","description":"Vendor bank account name"},"accountNumber":{"minLength":1,"type":"string","description":"Vendor bank account number. This field is required for enabling electronic payments to vendors.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set up vendor payment information for an international (not US) vendor."},"routingNumber":{"type":"string","description":"Vendor bank routing number. This field is required for enabling electronic payments to vendors. This field is empty for an IBAN `accountNumber`.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set up vendor payment information for an international (not US) vendor."},"type":{"allOf":[{"$ref":"#/components/schemas/BankAccountType"},{"description":"Vendor bank account type. This value is required for enabling electronic payments to international vendors (not United States) in specific countries."}]},"ownerType":{"allOf":[{"$ref":"#/components/schemas/BankAccountOwnerType"},{"description":"Vendor bank account owner type"}]},"regulatoryFields":{"type":"array","description":"International bank account regulatory information. The `name` and `value` fields are required for each required bank account regulatory field.\n\nSee [Create an international vendor](https://developer.bill.com/docs/creating-an-international-vendor) for more information on how to set `regulatoryFields`.","items":{"$ref":"#/components/schemas/NameValue"}},"paymentCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Payment currency. Three-letter abbreviation. This field is required for enabling electronic payments to vendors.\n\nSee <a href=\"https://help.bill.com/hc/en-us/articles/360007172671\">Country information for international payments</a> in the BILL Help Center for more information."}]}},"description":"Vendor bank account details","example":{"nameOnAccount":"Bill Vendorson","accountNumber":"111222333","routingNumber":"074000010","type":"CHECKING","ownerType":"BUSINESS","paymentCurrency":"USD"}},"VendorBankAccountResponseDto":{"type":"object","description":"Bank account details for a Vendor.","allOf":[{"$ref":"#/components/schemas/VendorBankAccountRequestDto"},{"properties":{"bankInfo":{"allOf":[{"$ref":"#/components/schemas/BankInfo"},{"description":"Vendor bank account branch information"}]},"status":{"allOf":[{"$ref":"#/components/schemas/BankAccountStatus"},{"description":"Vendor bank account status"}]}}}]},"VendorBankAccountStatusResponse":{"type":"string","description":"BankAccountStatus.","enum":["NO_ACCOUNT","NO_NET_LINKED_ACCOUNT","NET_LINKED_ACCOUNT","UNDEFINED"]},"VendorConfigurationResponseDto":{"type":"object","properties":{"internationalPayments":{"$ref":"#/components/schemas/IntlPmtsConfigurationResponseDto"}},"description":"Vendor configuration response."},"VendorCreditBulkResponseDto":{"type":"object","properties":{"vendorCredits":{"type":"array","description":"List of vendor credits","items":{"$ref":"#/components/schemas/VendorCreditResponseDto"}}},"description":"Response Dto for bulk vendor credit."},"VendorCreditLineItemClassificationsDto":{"type":"object","properties":{"chartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts. The value begins with `0ca`."},"accountingClassId":{"type":"string","description":"BILL-generated ID of the accounting class. The value begins with `cls`."},"departmentId":{"type":"string","description":"BILL-generated ID of the department. The value begins with `0de`."},"jobId":{"type":"string","description":"BILL-generated ID of the job. The value begins with `job`."},"locationId":{"type":"string","description":"BILL-generated ID of the location. The value begins with `loc`."},"itemId":{"type":"string","description":"BILL-generated ID of the item. The value begins with `0ii`."},"employeeId":{"type":"string","description":"BILL-generated ID of the employee. The value begins with `emp`."},"customerId":{"type":"string","description":"BILL-generated ID of the customer. The value begins with `0cu`."}},"description":"DTO for Bill Line Item classifications."},"VendorCreditLineItemResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the vendor credit line item. The value begins with `vci`."},"description":{"type":"string","description":"Vendor credit line item description"},"amount":{"type":"number","description":"Vendor credit line item amount. For a vendor credit in an international currency (not USD), this value is in the local currency."},"classifications":{"allOf":[{"$ref":"#/components/schemas/VendorCreditLineItemClassificationsDto"},{"description":"General ledger classifications information for the vendor credit line item"}]}},"description":"Vendor Credit Create Request Line Item."},"VendorCreditResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`."},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"archived":{"type":"boolean","description":"Set as `true` if the vendor credit is archived"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"amount":{"type":"number","description":"Vendor credit amount"},"appliedAmount":{"type":"number","description":"Vendor credit amount applied to invoices"},"status":{"allOf":[{"$ref":"#/components/schemas/CreditStatusDto"},{"description":"Vendor credit status."}]},"createdTime":{"type":"string","description":"Vendor credit created time","format":"date-time"},"updatedTime":{"type":"string","description":"Vendor credit updated time","format":"date-time"},"vendorCreditLineItems":{"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/VendorCreditLineItemResponseDto"}}},"description":"VendorCredit response Dto."},"VendorCreditUsageDto":{"type":"object","properties":{"billId":{"type":"string","description":"BILL-generated ID of the bill to which the vendor credit is applied"},"paymentId":{"type":"string","description":"BILL-generated ID of the payment to which the vendor credit is applied"},"amount":{"type":"number","description":"Vendor credit amount applied"}},"description":"VendorCredit usage Dto."},"VendorCreditWithUsageResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the vendor credit. The value begins with `vcr`."},"vendorId":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"referenceNumber":{"type":"string","description":"User-generated vendor credit number. This value can be in your chosen number scheme."},"creditDate":{"type":"string","description":"Vendor credit issued date. This value is in the `yyyy-MM-dd` format.","format":"date"},"description":{"type":"string","description":"Vendor credit description"},"archived":{"type":"boolean","description":"Set as `true` if the vendor credit is archived"},"applyToChartOfAccountId":{"type":"string","description":"BILL-generated ID of the chart of accounts used when the vendor credit is applied to a bill payment. The value begins with `0ca`."},"applyToBankAccountId":{"type":"string","description":"BILL-generated ID of the bank account used when the vendor credit is applied to a bill payment. The value begins with `bac`.\n\n**Note**: You can set only one of `applyToChartOfAccountId` or `applyToBankAccountId`."},"amount":{"type":"number","description":"Vendor credit amount"},"appliedAmount":{"type":"number","description":"Vendor credit amount applied to invoices"},"status":{"allOf":[{"$ref":"#/components/schemas/CreditStatusDto"},{"description":"Vendor credit status."}]},"createdTime":{"type":"string","description":"Vendor credit created time","format":"date-time"},"updatedTime":{"type":"string","description":"Vendor credit updated time","format":"date-time"},"vendorCreditLineItems":{"type":"array","description":"Vendor credit line item information","items":{"$ref":"#/components/schemas/UpdateVendorCreditLineItemDto"}},"usage":{"type":"array","description":"Vendor credit usage information","items":{"$ref":"#/components/schemas/VendorCreditUsageDto"}}},"description":"VendorCredit response Dto with usage."},"VendorRequestDto":{"required":["address","name"],"type":"object","properties":{"name":{"maxLength":100,"minLength":1,"type":"string","description":"Vendor name"},"shortName":{"maxLength":40,"type":"string","description":"Vendor short name"},"accountNumber":{"type":"string","description":"User account number set by the vendor. Set this field as the billing statement account number for vendor services such as utility or credit card bills.\n\nWhen you pay the vendor, this value appears on the check memo or electronic payment record."},"accountType":{"allOf":[{"$ref":"#/components/schemas/AccountTypeRequest"},{"description":"Vendor account type"}]},"email":{"type":"string","description":"Vendor email address"},"phone":{"pattern":"^.{0,20}$","type":"string","description":"Vendor phone number"},"address":{"allOf":[{"$ref":"#/components/schemas/Address"},{"description":"Vendor address information"}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/PaymentInformationRequest"},{"description":"Vendor payment information"}]},"additionalInfo":{"allOf":[{"$ref":"#/components/schemas/AdditionalInfoRequest"},{"description":"Vendor additional information"}]},"billCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Bill currency. Three-letter abbreviation in the ISO 4217 format.\n\nThe `billCurrency` value is the currency in which vendor bills are presented. The value is also the currency used in the invoices you receive from the vendor.\n\n**Note**: When the vendor bill currency is not `USD` (For example, `EUR`), the payment `processDate` for this vendor must be the next US business day.\n\nSee <a href=\"https://help.bill.com/hc/en-us/articles/360007172671\">Country information for international payments</a> in the BILL Help Center for the list of countries that accept international payments with BILL."}]},"autoPay":{"allOf":[{"$ref":"#/components/schemas/AutoPayDto"},{"description":"Vendor auto-pay information.\n\nWhen you enable vendor auto-pay, BILL automatically pays the vendor when a bill is created for the vendor.\n\n**Note**: Enabling vendor `autoPay` requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process."}]}},"description":"Create a US vendor","example":{"name":"Happy Music Supplies","accountType":"BUSINESS","email":"info@happymusicsupplies.org","phone":"9876543210","address":{"line1":"123 Main Street","city":"San Jose","stateOrProvince":"CA","zipOrPostalCode":"95002","country":"US"},"paymentInformation":{"payeeName":"Happy Music Supplies","bankAccount":{"nameOnAccount":"Bill Vendorson","accountNumber":"111222333","routingNumber":"074000010"}},"billCurrency":"USD"}},"VendorResponseDto":{"required":["archived"],"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the vendor. The value begins with `009`."},"archived":{"type":"boolean","description":"Set as `true` if the vendor is archived"},"name":{"type":"string","description":"Vendor name"},"shortName":{"type":"string","description":"Vendor short name"},"accountNumber":{"type":"string","description":"User account number set by the vendor.\n\nWhen you pay the vendor, this value appears on the check memo or electronic payment record."},"accountType":{"allOf":[{"$ref":"#/components/schemas/AccountTypeResponse"},{"description":"Vendor account type"}]},"email":{"type":"string","description":"Vendor email address"},"phone":{"type":"string","description":"Vendor phone number. This field is overridden when you connect with a vendor in the BILL network."},"address":{"allOf":[{"$ref":"#/components/schemas/AddressResponse"},{"description":"Vendor address information. This information is overridden when you connect with a vendor in the BILL network."}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/PaymentInformationResponse"},{"description":"Vendor payment information"}]},"additionalInfo":{"allOf":[{"$ref":"#/components/schemas/AdditionalInfoResponse"},{"description":"Vendor additional information"}]},"rppsId":{"type":"string","description":"BILL-generated ID of the verified national vendor (if the vendor is a verified national vendor)"},"bankAccountStatus":{"allOf":[{"$ref":"#/components/schemas/VendorBankAccountStatusResponse"},{"description":"Vendor bank account status"}]},"recurringPayments":{"type":"boolean","description":"Set as `true` if the vendor has recurring payments enabled"},"billCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Bill currency"}]},"createdTime":{"type":"string","description":"Created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Updated date and time","format":"date-time"},"balance":{"allOf":[{"$ref":"#/components/schemas/Balance"},{"description":"Vendor account balance information. When bills are created for the vendor, this information is updated."}]},"autoPay":{"allOf":[{"$ref":"#/components/schemas/AutoPayDto"},{"description":"Vendor auto-pay information.\n\nWhen you enable vendor auto-pay, BILL automatically pays the vendor when a bill is created for the vendor."}]},"networkStatus":{"allOf":[{"$ref":"#/components/schemas/NetworkInvitationStatus"},{"description":"Network connection status. This field appears in the response only when a network connection status is available for the vendor."}]},"paymentNetworkId":{"type":"string","description":"Vendor Payment Network ID (PNI). Each vendor with a BILL account is assigned a unique PNI."}},"description":"Vendors response."},"VendorUpdateRequestDto":{"type":"object","properties":{"name":{"maxLength":100,"type":"string","description":"Vendor name"},"shortName":{"maxLength":40,"type":"string","description":"Vendor short name"},"accountNumber":{"type":"string","description":"User account number set by the vendor. Set this field as the billing statement account number for vendor services such as utility or credit card bills.\n\nWhen you pay the vendor, this value appears on the check memo or electronic payment record."},"accountType":{"allOf":[{"$ref":"#/components/schemas/AccountTypeRequest"},{"description":"Vendor account type"}]},"email":{"type":"string","description":"Vendor email address"},"phone":{"type":"string","description":"Vendor phone number"},"address":{"allOf":[{"$ref":"#/components/schemas/AddressUpdate"},{"description":"Vendor address information"}]},"paymentInformation":{"allOf":[{"$ref":"#/components/schemas/PaymentInformationRequestUpdate"},{"description":"Vendor payment information"}]},"additionalInfo":{"allOf":[{"$ref":"#/components/schemas/AdditionalInfoRequest"},{"description":"Vendor additional information"}]},"billCurrency":{"allOf":[{"$ref":"#/components/schemas/CurrencyCode"},{"description":"Bill currency. Three-letter abbreviation in the ISO 4217 format.\n\nThe `billCurrency` value is the currency in the bills you create for the vendor. The value is also the currency in the invoices you receive from the vendor.\n\n**Note**: You can update this field only if the vendor has no bills or payments.\n\nSee <a href=\"https://help.bill.com/hc/en-us/articles/360007172671\">Country information for international payments</a> in the BILL Help Center for more information."}]},"autoPay":{"allOf":[{"$ref":"#/components/schemas/AutoPayDto"},{"description":"Vendor auto-pay information.\n\nWhen you enable vendor auto-pay, BILL automatically pays the vendor when a bill is created for the vendor.\n\n**Note**: Enabling vendor `autoPay` requires an MFA-trusted API session. See [MFA setup](https://developer.bill.com/reference/setup) for information about the BILL MFA process."}]}},"description":"Update a vendor","example":{"name":"Happy Music Supplies (Updated)","accountType":"PERSON"}},"VerificationDecisionType":{"type":"string","description":"Enum for Risk verification decision.","enum":["APPROVE","REVIEW","HOLD","DECLINE","PENDING","IN_PROGRESS"]},"VerificationProcessingStatus":{"type":"string","description":"Enum for risk verification processing status.","enum":["IN_PROGRESS","COMPLETED"]},"VerificationResponseDto":{"type":"object","properties":{"processingStatus":{"allOf":[{"$ref":"#/components/schemas/VerificationProcessingStatus"},{"description":"Risk verification processing status."}]},"decision":{"allOf":[{"$ref":"#/components/schemas/VerificationDecisionType"},{"description":"Risk verification decision. See [Users for BILL partners](https://developer.bill.com/docs/partner-users) to learn more about the `decision` values."}]},"referenceId":{"type":"string","description":"BILL-generated ID to uniquely identify the risk verification request for the organization"}},"description":"Risk verification response."},"VirtualCard":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/VirtualCardStatus"},{"description":"Virtual card enrollment status for the vendor"}]},"remitEmail":{"type":"string","description":"Virtual card remittance email address set for the vendor"},"enrollDate":{"type":"string","description":"Virtual card enrollment date","format":"date-time"},"declineDate":{"type":"string","description":"Virtual card declined date","format":"date-time"},"alternatePayByType":{"allOf":[{"$ref":"#/components/schemas/DisbursementType"},{"description":"Alternate payment method for virtual card payment"}]}},"description":"Vendor Direct (VCARD) information."},"VirtualCardStatus":{"type":"string","description":"Virtual Card Status enum.","enum":["UNDEFINED","OPEN","PENDING","REQUIRE_MORE_INFO","PAY_FOR_YOUR_OPPORTUNITY","PHONE_NUMBER_NEEDED","ENROLLED","DECLINED","CONFIRMED","RECRUITING","VERBAL_COMMITMENT","PAYER_ASSIST","ON_HOLD","UNKNOWN"]},"VoidInfo":{"type":"object","properties":{"id":{"type":"string","description":"BILL-generated ID of the void payment request. The value begins with `vrq`."},"requestedBy":{"type":"string","description":"BILL-generated ID of the user that requested a void payment. The value begins with `006`."},"type":{"allOf":[{"$ref":"#/components/schemas/VoidType"},{"description":"Void payment request type."}]},"status":{"allOf":[{"$ref":"#/components/schemas/VoidStatus"},{"description":"Void payment request status."}]},"reason":{"type":"string","description":"Void payment request reason"},"createdTime":{"type":"string","description":"Void payment request created date and time","format":"date-time"},"updatedTime":{"type":"string","description":"Void payment request updated date and time","format":"date-time"}},"description":"Void information for the Payments DTO."},"VoidRequestDto":{"required":["reason","type"],"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/VoidTypeRequest"},{"description":"Void payment request type"}]},"reason":{"maxLength":4000,"type":"string","description":"Void payment request reason"}},"description":"Request to Void a Payment."},"VoidStatus":{"type":"string","description":"Void status enum.","enum":["TO_BE_PROCESSED","ACCEPTED","REJECTED","NO_OP","ARCHIVED"]},"VoidType":{"type":"string","description":"Void type enum.","enum":["VOID_AND_CREDIT","VOID_AND_REISSUE","VOID_ONLY","VOID_AND_REISSUE_VCARD"]},"VoidTypeRequest":{"type":"string","description":"Void type request enum.","enum":["VOID_AND_CREDIT","VOID_AND_REISSUE"]},"WalletDisbursement":{"type":"object","properties":{"arrivesByDate":{"type":"string","description":"Instant Transfer (wallet) payment arrives by date","format":"date"}},"description":"Wallet disbursement dto when the disbursement type is wallet."},"WalletPermission":{"type":"object","properties":{"fundingEnabled":{"type":"boolean","description":"This field is set as `true` if you have access to Wallet (BILL balance) as a payment method"}},"description":"Funding account wallet permission response."}}}}