xero-ruby 0.2.3 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +76 -0
  3. data/CONTRIBUTING.md +82 -0
  4. data/Gemfile.lock +68 -0
  5. data/LICENSE +21 -0
  6. data/README.md +132 -438
  7. data/docs/{Account.md → accounting/Account.md} +5 -5
  8. data/docs/accounting/AccountType.md +16 -0
  9. data/docs/{AccountingApi.md → accounting/AccountingApi.md} +4973 -1782
  10. data/docs/{Accounts.md → accounting/Accounts.md} +3 -3
  11. data/docs/{AccountsPayable.md → accounting/AccountsPayable.md} +3 -3
  12. data/docs/{AccountsReceivable.md → accounting/AccountsReceivable.md} +3 -3
  13. data/docs/{Address.md → accounting/Address.md} +3 -3
  14. data/docs/accounting/Allocation.md +31 -0
  15. data/docs/{Allocations.md → accounting/Allocations.md} +3 -3
  16. data/docs/{Attachment.md → accounting/Attachment.md} +3 -3
  17. data/docs/{Attachments.md → accounting/Attachments.md} +3 -3
  18. data/docs/{Balances.md → accounting/Balances.md} +3 -3
  19. data/docs/{BankTransaction.md → accounting/BankTransaction.md} +5 -5
  20. data/docs/{BankTransactions.md → accounting/BankTransactions.md} +3 -3
  21. data/docs/{BankTransfer.md → accounting/BankTransfer.md} +6 -6
  22. data/docs/{BankTransfers.md → accounting/BankTransfers.md} +3 -3
  23. data/docs/{BatchPayment.md → accounting/BatchPayment.md} +4 -4
  24. data/docs/{BatchPaymentDetails.md → accounting/BatchPaymentDetails.md} +3 -3
  25. data/docs/{BatchPayments.md → accounting/BatchPayments.md} +3 -3
  26. data/docs/{Bill.md → accounting/Bill.md} +3 -3
  27. data/docs/{BrandingTheme.md → accounting/BrandingTheme.md} +3 -3
  28. data/docs/{BrandingThemes.md → accounting/BrandingThemes.md} +3 -3
  29. data/docs/{CISOrgSetting.md → accounting/CISOrgSetting.md} +3 -3
  30. data/docs/{CISSetting.md → accounting/CISSetting.md} +3 -3
  31. data/docs/{CISSettings.md → accounting/CISSettings.md} +3 -3
  32. data/docs/{Contact.md → accounting/Contact.md} +7 -7
  33. data/docs/{ContactGroup.md → accounting/ContactGroup.md} +3 -3
  34. data/docs/{ContactGroups.md → accounting/ContactGroups.md} +3 -3
  35. data/docs/{ContactPerson.md → accounting/ContactPerson.md} +3 -3
  36. data/docs/{Contacts.md → accounting/Contacts.md} +3 -3
  37. data/docs/accounting/CountryCode.md +16 -0
  38. data/docs/{CreditNote.md → accounting/CreditNote.md} +9 -7
  39. data/docs/{CreditNotes.md → accounting/CreditNotes.md} +3 -3
  40. data/docs/{Currencies.md → accounting/Currencies.md} +3 -3
  41. data/docs/{Currency.md → accounting/Currency.md} +3 -3
  42. data/docs/accounting/CurrencyCode.md +16 -0
  43. data/docs/{Element.md → accounting/Element.md} +3 -3
  44. data/docs/{Employee.md → accounting/Employee.md} +3 -3
  45. data/docs/{Employees.md → accounting/Employees.md} +3 -3
  46. data/docs/{Error.md → accounting/Error.md} +3 -3
  47. data/docs/{ExpenseClaim.md → accounting/ExpenseClaim.md} +3 -3
  48. data/docs/{ExpenseClaims.md → accounting/ExpenseClaims.md} +3 -3
  49. data/docs/{ExternalLink.md → accounting/ExternalLink.md} +3 -3
  50. data/docs/{HistoryRecord.md → accounting/HistoryRecord.md} +3 -3
  51. data/docs/{HistoryRecords.md → accounting/HistoryRecords.md} +3 -3
  52. data/docs/{Invoice.md → accounting/Invoice.md} +7 -7
  53. data/docs/{InvoiceReminder.md → accounting/InvoiceReminder.md} +3 -3
  54. data/docs/{InvoiceReminders.md → accounting/InvoiceReminders.md} +3 -3
  55. data/docs/{Invoices.md → accounting/Invoices.md} +3 -3
  56. data/docs/{Item.md → accounting/Item.md} +3 -3
  57. data/docs/{Items.md → accounting/Items.md} +3 -3
  58. data/docs/{Journal.md → accounting/Journal.md} +4 -4
  59. data/docs/{JournalLine.md → accounting/JournalLine.md} +3 -3
  60. data/docs/{Journals.md → accounting/Journals.md} +3 -3
  61. data/docs/accounting/LineAmountTypes.md +16 -0
  62. data/docs/{LineItem.md → accounting/LineItem.md} +3 -3
  63. data/docs/{LineItemTracking.md → accounting/LineItemTracking.md} +3 -3
  64. data/docs/{LinkedTransaction.md → accounting/LinkedTransaction.md} +3 -3
  65. data/docs/{LinkedTransactions.md → accounting/LinkedTransactions.md} +3 -3
  66. data/docs/{ManualJournal.md → accounting/ManualJournal.md} +5 -5
  67. data/docs/{ManualJournalLine.md → accounting/ManualJournalLine.md} +3 -3
  68. data/docs/{ManualJournals.md → accounting/ManualJournals.md} +3 -3
  69. data/docs/{OnlineInvoice.md → accounting/OnlineInvoice.md} +3 -3
  70. data/docs/{OnlineInvoices.md → accounting/OnlineInvoices.md} +3 -3
  71. data/docs/{Organisation.md → accounting/Organisation.md} +5 -3
  72. data/docs/{Organisations.md → accounting/Organisations.md} +3 -3
  73. data/docs/{Overpayment.md → accounting/Overpayment.md} +5 -5
  74. data/docs/{Overpayments.md → accounting/Overpayments.md} +3 -3
  75. data/docs/{Payment.md → accounting/Payment.md} +9 -7
  76. data/docs/{PaymentDelete.md → accounting/PaymentDelete.md} +3 -3
  77. data/docs/{PaymentService.md → accounting/PaymentService.md} +3 -3
  78. data/docs/{PaymentServices.md → accounting/PaymentServices.md} +3 -3
  79. data/docs/{PaymentTerm.md → accounting/PaymentTerm.md} +3 -3
  80. data/docs/{PaymentTermType.md → accounting/PaymentTermType.md} +3 -3
  81. data/docs/{Payments.md → accounting/Payments.md} +3 -3
  82. data/docs/{Phone.md → accounting/Phone.md} +3 -3
  83. data/docs/{Prepayment.md → accounting/Prepayment.md} +5 -5
  84. data/docs/{Prepayments.md → accounting/Prepayments.md} +3 -3
  85. data/docs/{Purchase.md → accounting/Purchase.md} +3 -3
  86. data/docs/{PurchaseOrder.md → accounting/PurchaseOrder.md} +5 -5
  87. data/docs/{PurchaseOrders.md → accounting/PurchaseOrders.md} +3 -3
  88. data/docs/{Quote.md → accounting/Quote.md} +8 -4
  89. data/docs/{QuoteLineAmountTypes.md → accounting/QuoteLineAmountTypes.md} +3 -3
  90. data/docs/{QuoteStatusCodes.md → accounting/QuoteStatusCodes.md} +3 -3
  91. data/docs/{Quotes.md → accounting/Quotes.md} +3 -3
  92. data/docs/{Receipt.md → accounting/Receipt.md} +5 -5
  93. data/docs/{Receipts.md → accounting/Receipts.md} +3 -3
  94. data/docs/{RepeatingInvoice.md → accounting/RepeatingInvoice.md} +5 -5
  95. data/docs/{RepeatingInvoices.md → accounting/RepeatingInvoices.md} +3 -3
  96. data/docs/{Report.md → accounting/Report.md} +3 -3
  97. data/docs/{ReportAttribute.md → accounting/ReportAttribute.md} +3 -3
  98. data/docs/{ReportCell.md → accounting/ReportCell.md} +3 -3
  99. data/docs/{ReportFields.md → accounting/ReportFields.md} +3 -3
  100. data/docs/{ReportRow.md → accounting/ReportRow.md} +3 -3
  101. data/docs/{ReportRows.md → accounting/ReportRows.md} +3 -3
  102. data/docs/{ReportWithRow.md → accounting/ReportWithRow.md} +3 -3
  103. data/docs/{ReportWithRows.md → accounting/ReportWithRows.md} +3 -3
  104. data/docs/{Reports.md → accounting/Reports.md} +3 -3
  105. data/docs/{RequestEmpty.md → accounting/RequestEmpty.md} +3 -3
  106. data/docs/{RowType.md → accounting/RowType.md} +3 -3
  107. data/docs/{SalesTrackingCategory.md → accounting/SalesTrackingCategory.md} +3 -3
  108. data/docs/{Schedule.md → accounting/Schedule.md} +3 -3
  109. data/docs/{TaxComponent.md → accounting/TaxComponent.md} +3 -3
  110. data/docs/{TaxRate.md → accounting/TaxRate.md} +3 -3
  111. data/docs/{TaxRates.md → accounting/TaxRates.md} +3 -3
  112. data/docs/{TaxType.md → accounting/TaxType.md} +3 -3
  113. data/docs/{TenNinteyNineContact.md → accounting/TenNinteyNineContact.md} +3 -3
  114. data/docs/{TimeZone.md → accounting/TimeZone.md} +3 -3
  115. data/docs/{TrackingCategories.md → accounting/TrackingCategories.md} +3 -3
  116. data/docs/{TrackingCategory.md → accounting/TrackingCategory.md} +3 -3
  117. data/docs/{TrackingOption.md → accounting/TrackingOption.md} +3 -3
  118. data/docs/{TrackingOptions.md → accounting/TrackingOptions.md} +3 -3
  119. data/docs/{User.md → accounting/User.md} +3 -3
  120. data/docs/{Users.md → accounting/Users.md} +3 -3
  121. data/docs/{ValidationError.md → accounting/ValidationError.md} +3 -3
  122. data/docs/assets/Asset.md +45 -0
  123. data/docs/assets/AssetApi.md +438 -0
  124. data/docs/{CurrencyCode.md → assets/AssetStatus.md} +3 -3
  125. data/docs/assets/AssetStatusQueryParam.md +16 -0
  126. data/docs/assets/AssetType.md +29 -0
  127. data/docs/assets/Assets.md +19 -0
  128. data/docs/assets/BookDepreciationDetail.md +29 -0
  129. data/docs/assets/BookDepreciationSetting.md +31 -0
  130. data/docs/assets/Error.md +25 -0
  131. data/docs/assets/FieldValidationErrorsElement.md +27 -0
  132. data/docs/assets/Pagination.md +23 -0
  133. data/docs/assets/ResourceValidationErrorsElement.md +25 -0
  134. data/docs/assets/Setting.md +31 -0
  135. data/docs/projects/Amount.md +19 -0
  136. data/docs/{AccountType.md → projects/ChargeType.md} +3 -3
  137. data/docs/{CountryCode.md → projects/CurrencyCode.md} +3 -3
  138. data/docs/projects/Error.md +19 -0
  139. data/docs/projects/Pagination.md +23 -0
  140. data/docs/projects/Project.md +59 -0
  141. data/docs/projects/ProjectApi.md +979 -0
  142. data/docs/projects/ProjectCreateOrUpdate.md +23 -0
  143. data/docs/projects/ProjectPatch.md +17 -0
  144. data/docs/{LineAmountTypes.md → projects/ProjectStatus.md} +3 -3
  145. data/docs/projects/ProjectUser.md +21 -0
  146. data/docs/projects/ProjectUsers.md +19 -0
  147. data/docs/projects/Projects.md +19 -0
  148. data/docs/projects/Task.md +45 -0
  149. data/docs/projects/TaskCreateOrUpdate.md +23 -0
  150. data/docs/projects/Tasks.md +19 -0
  151. data/docs/projects/TimeEntries.md +19 -0
  152. data/docs/projects/TimeEntry.md +33 -0
  153. data/docs/projects/TimeEntryCreateOrUpdate.md +25 -0
  154. data/lib/xero-ruby.rb +148 -122
  155. data/lib/xero-ruby/api/accounting_api.rb +165 -42
  156. data/lib/xero-ruby/api/asset_api.rb +452 -0
  157. data/lib/xero-ruby/api/project_api.rb +1035 -0
  158. data/lib/xero-ruby/api_client.rb +172 -44
  159. data/lib/xero-ruby/api_error.rb +2 -2
  160. data/lib/xero-ruby/configuration.rb +35 -22
  161. data/lib/xero-ruby/models/{account.rb → accounting/account.rb} +62 -24
  162. data/lib/xero-ruby/models/{account_type.rb → accounting/account_type.rb} +3 -3
  163. data/lib/xero-ruby/models/{accounts.rb → accounting/accounts.rb} +8 -7
  164. data/lib/xero-ruby/models/{accounts_payable.rb → accounting/accounts_payable.rb} +9 -7
  165. data/lib/xero-ruby/models/{accounts_receivable.rb → accounting/accounts_receivable.rb} +9 -7
  166. data/lib/xero-ruby/models/{address.rb → accounting/address.rb} +19 -16
  167. data/lib/xero-ruby/models/accounting/allocation.rb +291 -0
  168. data/lib/xero-ruby/models/{allocations.rb → accounting/allocations.rb} +8 -7
  169. data/lib/xero-ruby/models/{attachment.rb → accounting/attachment.rb} +12 -12
  170. data/lib/xero-ruby/models/{attachments.rb → accounting/attachments.rb} +8 -7
  171. data/lib/xero-ruby/models/{balances.rb → accounting/balances.rb} +9 -7
  172. data/lib/xero-ruby/models/{bank_transaction.rb → accounting/bank_transaction.rb} +41 -24
  173. data/lib/xero-ruby/models/{bank_transactions.rb → accounting/bank_transactions.rb} +8 -7
  174. data/lib/xero-ruby/models/{bank_transfer.rb → accounting/bank_transfer.rb} +21 -17
  175. data/lib/xero-ruby/models/{bank_transfers.rb → accounting/bank_transfers.rb} +8 -7
  176. data/lib/xero-ruby/models/{batch_payment.rb → accounting/batch_payment.rb} +28 -22
  177. data/lib/xero-ruby/models/{batch_payment_details.rb → accounting/batch_payment_details.rb} +11 -11
  178. data/lib/xero-ruby/models/{batch_payments.rb → accounting/batch_payments.rb} +8 -7
  179. data/lib/xero-ruby/models/{bill.rb → accounting/bill.rb} +8 -7
  180. data/lib/xero-ruby/models/{branding_theme.rb → accounting/branding_theme.rb} +13 -12
  181. data/lib/xero-ruby/models/{branding_themes.rb → accounting/branding_themes.rb} +8 -7
  182. data/lib/xero-ruby/models/{cis_org_setting.rb → accounting/cis_org_setting.rb} +9 -9
  183. data/lib/xero-ruby/models/{cis_setting.rb → accounting/cis_setting.rb} +8 -8
  184. data/lib/xero-ruby/models/{cis_settings.rb → accounting/cis_settings.rb} +8 -7
  185. data/lib/xero-ruby/models/{contact.rb → accounting/contact.rb} +52 -40
  186. data/lib/xero-ruby/models/{contact_group.rb → accounting/contact_group.rb} +12 -10
  187. data/lib/xero-ruby/models/{contact_groups.rb → accounting/contact_groups.rb} +8 -7
  188. data/lib/xero-ruby/models/{contact_person.rb → accounting/contact_person.rb} +10 -10
  189. data/lib/xero-ruby/models/{contacts.rb → accounting/contacts.rb} +8 -7
  190. data/lib/xero-ruby/models/{country_code.rb → accounting/country_code.rb} +3 -3
  191. data/lib/xero-ruby/models/{credit_note.rb → accounting/credit_note.rb} +54 -29
  192. data/lib/xero-ruby/models/{credit_notes.rb → accounting/credit_notes.rb} +8 -7
  193. data/lib/xero-ruby/models/{currencies.rb → accounting/currencies.rb} +8 -7
  194. data/lib/xero-ruby/models/{currency.rb → accounting/currency.rb} +9 -8
  195. data/lib/xero-ruby/models/{currency_code.rb → accounting/currency_code.rb} +5 -5
  196. data/lib/xero-ruby/models/{element.rb → accounting/element.rb} +14 -8
  197. data/lib/xero-ruby/models/{employee.rb → accounting/employee.rb} +17 -12
  198. data/lib/xero-ruby/models/{employees.rb → accounting/employees.rb} +8 -7
  199. data/lib/xero-ruby/models/{error.rb → accounting/error.rb} +10 -10
  200. data/lib/xero-ruby/models/{expense_claim.rb → accounting/expense_claim.rb} +23 -16
  201. data/lib/xero-ruby/models/{expense_claims.rb → accounting/expense_claims.rb} +8 -7
  202. data/lib/xero-ruby/models/{external_link.rb → accounting/external_link.rb} +14 -8
  203. data/lib/xero-ruby/models/{history_record.rb → accounting/history_record.rb} +10 -10
  204. data/lib/xero-ruby/models/{history_records.rb → accounting/history_records.rb} +8 -7
  205. data/lib/xero-ruby/models/{invoice.rb → accounting/invoice.rb} +62 -41
  206. data/lib/xero-ruby/models/{invoice_reminder.rb → accounting/invoice_reminder.rb} +7 -7
  207. data/lib/xero-ruby/models/{invoice_reminders.rb → accounting/invoice_reminders.rb} +8 -7
  208. data/lib/xero-ruby/models/{invoices.rb → accounting/invoices.rb} +8 -7
  209. data/lib/xero-ruby/models/{item.rb → accounting/item.rb} +22 -20
  210. data/lib/xero-ruby/models/{items.rb → accounting/items.rb} +8 -7
  211. data/lib/xero-ruby/models/{journal.rb → accounting/journal.rb} +40 -15
  212. data/lib/xero-ruby/models/{journal_line.rb → accounting/journal_line.rb} +18 -17
  213. data/lib/xero-ruby/models/{journals.rb → accounting/journals.rb} +8 -7
  214. data/lib/xero-ruby/models/{line_amount_types.rb → accounting/line_amount_types.rb} +3 -3
  215. data/lib/xero-ruby/models/{line_item.rb → accounting/line_item.rb} +19 -19
  216. data/lib/xero-ruby/models/{line_item_tracking.rb → accounting/line_item_tracking.rb} +10 -10
  217. data/lib/xero-ruby/models/{linked_transaction.rb → accounting/linked_transaction.rb} +25 -17
  218. data/lib/xero-ruby/models/{linked_transactions.rb → accounting/linked_transactions.rb} +8 -7
  219. data/lib/xero-ruby/models/{manual_journal.rb → accounting/manual_journal.rb} +27 -19
  220. data/lib/xero-ruby/models/{manual_journal_line.rb → accounting/manual_journal_line.rb} +13 -13
  221. data/lib/xero-ruby/models/{manual_journals.rb → accounting/manual_journals.rb} +8 -7
  222. data/lib/xero-ruby/models/{online_invoice.rb → accounting/online_invoice.rb} +7 -7
  223. data/lib/xero-ruby/models/{online_invoices.rb → accounting/online_invoices.rb} +8 -7
  224. data/lib/xero-ruby/models/{organisation.rb → accounting/organisation.rb} +107 -47
  225. data/lib/xero-ruby/models/{organisations.rb → accounting/organisations.rb} +8 -7
  226. data/lib/xero-ruby/models/{overpayment.rb → accounting/overpayment.rb} +33 -22
  227. data/lib/xero-ruby/models/{overpayments.rb → accounting/overpayments.rb} +8 -7
  228. data/lib/xero-ruby/models/{payment.rb → accounting/payment.rb} +55 -26
  229. data/lib/xero-ruby/models/{payment_delete.rb → accounting/payment_delete.rb} +7 -7
  230. data/lib/xero-ruby/models/{payment_service.rb → accounting/payment_service.rb} +12 -12
  231. data/lib/xero-ruby/models/{payment_services.rb → accounting/payment_services.rb} +8 -7
  232. data/lib/xero-ruby/models/{payment_term.rb → accounting/payment_term.rb} +9 -7
  233. data/lib/xero-ruby/models/{payment_term_type.rb → accounting/payment_term_type.rb} +3 -3
  234. data/lib/xero-ruby/models/{payments.rb → accounting/payments.rb} +8 -7
  235. data/lib/xero-ruby/models/{phone.rb → accounting/phone.rb} +16 -10
  236. data/lib/xero-ruby/models/{prepayment.rb → accounting/prepayment.rb} +34 -22
  237. data/lib/xero-ruby/models/{prepayments.rb → accounting/prepayments.rb} +8 -7
  238. data/lib/xero-ruby/models/{purchase.rb → accounting/purchase.rb} +10 -10
  239. data/lib/xero-ruby/models/{purchase_order.rb → accounting/purchase_order.rb} +42 -32
  240. data/lib/xero-ruby/models/{purchase_orders.rb → accounting/purchase_orders.rb} +8 -7
  241. data/lib/xero-ruby/models/{quote.rb → accounting/quote.rb} +54 -28
  242. data/lib/xero-ruby/models/{quote_line_amount_types.rb → accounting/quote_line_amount_types.rb} +3 -3
  243. data/lib/xero-ruby/models/{quote_status_codes.rb → accounting/quote_status_codes.rb} +3 -3
  244. data/lib/xero-ruby/models/{quotes.rb → accounting/quotes.rb} +8 -7
  245. data/lib/xero-ruby/models/{receipt.rb → accounting/receipt.rb} +31 -20
  246. data/lib/xero-ruby/models/{receipts.rb → accounting/receipts.rb} +8 -7
  247. data/lib/xero-ruby/models/{repeating_invoice.rb → accounting/repeating_invoice.rb} +29 -18
  248. data/lib/xero-ruby/models/{repeating_invoices.rb → accounting/repeating_invoices.rb} +8 -7
  249. data/lib/xero-ruby/models/{report.rb → accounting/report.rb} +14 -12
  250. data/lib/xero-ruby/models/{report_attribute.rb → accounting/report_attribute.rb} +9 -7
  251. data/lib/xero-ruby/models/{report_cell.rb → accounting/report_cell.rb} +9 -7
  252. data/lib/xero-ruby/models/{report_fields.rb → accounting/report_fields.rb} +10 -7
  253. data/lib/xero-ruby/models/{report_row.rb → accounting/report_row.rb} +10 -7
  254. data/lib/xero-ruby/models/{report_rows.rb → accounting/report_rows.rb} +11 -7
  255. data/lib/xero-ruby/models/{report_with_row.rb → accounting/report_with_row.rb} +15 -13
  256. data/lib/xero-ruby/models/{report_with_rows.rb → accounting/report_with_rows.rb} +8 -7
  257. data/lib/xero-ruby/models/{reports.rb → accounting/reports.rb} +8 -7
  258. data/lib/xero-ruby/models/{request_empty.rb → accounting/request_empty.rb} +7 -7
  259. data/lib/xero-ruby/models/{row_type.rb → accounting/row_type.rb} +3 -3
  260. data/lib/xero-ruby/models/{sales_tracking_category.rb → accounting/sales_tracking_category.rb} +8 -8
  261. data/lib/xero-ruby/models/{schedule.rb → accounting/schedule.rb} +23 -15
  262. data/lib/xero-ruby/models/{tax_component.rb → accounting/tax_component.rb} +10 -10
  263. data/lib/xero-ruby/models/{tax_rate.rb → accounting/tax_rate.rb} +98 -20
  264. data/lib/xero-ruby/models/{tax_rates.rb → accounting/tax_rates.rb} +8 -7
  265. data/lib/xero-ruby/models/{tax_type.rb → accounting/tax_type.rb} +7 -3
  266. data/lib/xero-ruby/models/{ten_nintey_nine_contact.rb → accounting/ten_nintey_nine_contact.rb} +28 -28
  267. data/lib/xero-ruby/models/{time_zone.rb → accounting/time_zone.rb} +3 -3
  268. data/lib/xero-ruby/models/{tracking_categories.rb → accounting/tracking_categories.rb} +8 -7
  269. data/lib/xero-ruby/models/{tracking_category.rb → accounting/tracking_category.rb} +15 -12
  270. data/lib/xero-ruby/models/{tracking_option.rb → accounting/tracking_option.rb} +13 -10
  271. data/lib/xero-ruby/models/{tracking_options.rb → accounting/tracking_options.rb} +8 -7
  272. data/lib/xero-ruby/models/{user.rb → accounting/user.rb} +20 -13
  273. data/lib/xero-ruby/models/{users.rb → accounting/users.rb} +8 -7
  274. data/lib/xero-ruby/models/{validation_error.rb → accounting/validation_error.rb} +7 -7
  275. data/lib/xero-ruby/models/assets/asset.rb +349 -0
  276. data/lib/xero-ruby/models/assets/asset_status.rb +38 -0
  277. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +38 -0
  278. data/lib/xero-ruby/models/assets/asset_type.rb +274 -0
  279. data/lib/xero-ruby/models/assets/assets.rb +216 -0
  280. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +264 -0
  281. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +343 -0
  282. data/lib/xero-ruby/models/assets/error.rb +248 -0
  283. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +254 -0
  284. data/lib/xero-ruby/models/assets/pagination.rb +234 -0
  285. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +244 -0
  286. data/lib/xero-ruby/models/assets/setting.rb +274 -0
  287. data/lib/xero-ruby/models/projects/amount.rb +214 -0
  288. data/lib/xero-ruby/models/projects/charge_type.rb +38 -0
  289. data/lib/xero-ruby/models/projects/currency_code.rb +199 -0
  290. data/lib/xero-ruby/models/projects/error.rb +214 -0
  291. data/lib/xero-ruby/models/{allocation.rb → projects/pagination.rb} +44 -48
  292. data/lib/xero-ruby/models/projects/project.rb +419 -0
  293. data/lib/xero-ruby/models/projects/project_create_or_update.rb +239 -0
  294. data/lib/xero-ruby/models/projects/project_patch.rb +209 -0
  295. data/lib/xero-ruby/models/projects/project_status.rb +37 -0
  296. data/lib/xero-ruby/models/projects/project_user.rb +224 -0
  297. data/lib/xero-ruby/models/projects/project_users.rb +216 -0
  298. data/lib/xero-ruby/models/projects/projects.rb +216 -0
  299. data/lib/xero-ruby/models/projects/task.rb +381 -0
  300. data/lib/xero-ruby/models/projects/task_create_or_update.rb +249 -0
  301. data/lib/xero-ruby/models/projects/tasks.rb +216 -0
  302. data/lib/xero-ruby/models/projects/time_entries.rb +216 -0
  303. data/lib/xero-ruby/models/projects/time_entry.rb +320 -0
  304. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +264 -0
  305. data/lib/xero-ruby/version.rb +3 -3
  306. data/spec/{api → accounting/api}/accounting_api_spec.rb +44 -20
  307. data/spec/{models → accounting/models}/account_spec.rb +5 -5
  308. data/spec/{models → accounting/models}/account_type_spec.rb +5 -5
  309. data/spec/{models → accounting/models}/accounts_payable_spec.rb +5 -5
  310. data/spec/{models → accounting/models}/accounts_receivable_spec.rb +5 -5
  311. data/spec/{models → accounting/models}/accounts_spec.rb +5 -5
  312. data/spec/{models → accounting/models}/address_spec.rb +5 -5
  313. data/spec/{models → accounting/models}/allocation_spec.rb +5 -5
  314. data/spec/{models → accounting/models}/allocations_spec.rb +5 -5
  315. data/spec/{models → accounting/models}/attachment_spec.rb +5 -5
  316. data/spec/{models → accounting/models}/attachments_spec.rb +5 -5
  317. data/spec/{models → accounting/models}/balances_spec.rb +5 -5
  318. data/spec/{models → accounting/models}/bank_transaction_spec.rb +5 -5
  319. data/spec/{models → accounting/models}/bank_transactions_spec.rb +5 -5
  320. data/spec/{models → accounting/models}/bank_transfer_spec.rb +5 -5
  321. data/spec/{models → accounting/models}/bank_transfers_spec.rb +5 -5
  322. data/spec/{models → accounting/models}/batch_payment_details_spec.rb +5 -5
  323. data/spec/{models → accounting/models}/batch_payment_spec.rb +5 -5
  324. data/spec/{models → accounting/models}/batch_payments_spec.rb +5 -5
  325. data/spec/{models → accounting/models}/bill_spec.rb +5 -5
  326. data/spec/{models → accounting/models}/branding_theme_spec.rb +5 -5
  327. data/spec/{models → accounting/models}/branding_themes_spec.rb +5 -5
  328. data/spec/{models → accounting/models}/cis_org_setting_spec.rb +5 -5
  329. data/spec/{models → accounting/models}/cis_setting_spec.rb +5 -5
  330. data/spec/{models → accounting/models}/cis_settings_spec.rb +5 -5
  331. data/spec/{models → accounting/models}/contact_group_spec.rb +5 -5
  332. data/spec/{models → accounting/models}/contact_groups_spec.rb +5 -5
  333. data/spec/{models → accounting/models}/contact_person_spec.rb +5 -5
  334. data/spec/{models → accounting/models}/contact_spec.rb +5 -5
  335. data/spec/{models → accounting/models}/contacts_spec.rb +5 -5
  336. data/spec/{models → accounting/models}/country_code_spec.rb +5 -5
  337. data/spec/{models → accounting/models}/credit_note_spec.rb +11 -5
  338. data/spec/{models → accounting/models}/credit_notes_spec.rb +5 -5
  339. data/spec/{models → accounting/models}/currencies_spec.rb +5 -5
  340. data/spec/{models → accounting/models}/currency_code_spec.rb +5 -5
  341. data/spec/{models → accounting/models}/currency_spec.rb +5 -5
  342. data/spec/{models → accounting/models}/element_spec.rb +5 -5
  343. data/spec/{models → accounting/models}/employee_spec.rb +5 -5
  344. data/spec/{models → accounting/models}/employees_spec.rb +5 -5
  345. data/spec/{models → accounting/models}/error_spec.rb +5 -5
  346. data/spec/{models → accounting/models}/expense_claim_spec.rb +5 -5
  347. data/spec/{models → accounting/models}/expense_claims_spec.rb +5 -5
  348. data/spec/{models → accounting/models}/external_link_spec.rb +5 -5
  349. data/spec/{models → accounting/models}/history_record_spec.rb +5 -5
  350. data/spec/{models → accounting/models}/history_records_spec.rb +5 -5
  351. data/spec/{models → accounting/models}/invoice_reminder_spec.rb +5 -5
  352. data/spec/{models → accounting/models}/invoice_reminders_spec.rb +5 -5
  353. data/spec/{models → accounting/models}/invoice_spec.rb +6 -6
  354. data/spec/{models → accounting/models}/invoices_spec.rb +5 -5
  355. data/spec/{models → accounting/models}/item_spec.rb +5 -5
  356. data/spec/{models → accounting/models}/items_spec.rb +5 -5
  357. data/spec/{models → accounting/models}/journal_line_spec.rb +5 -5
  358. data/spec/{models → accounting/models}/journal_spec.rb +5 -5
  359. data/spec/{models → accounting/models}/journals_spec.rb +5 -5
  360. data/spec/{models → accounting/models}/line_amount_types_spec.rb +5 -5
  361. data/spec/{models → accounting/models}/line_item_spec.rb +5 -5
  362. data/spec/{models → accounting/models}/line_item_tracking_spec.rb +5 -5
  363. data/spec/{models → accounting/models}/linked_transaction_spec.rb +5 -5
  364. data/spec/{models → accounting/models}/linked_transactions_spec.rb +5 -5
  365. data/spec/{models → accounting/models}/manual_journal_line_spec.rb +5 -5
  366. data/spec/{models → accounting/models}/manual_journal_spec.rb +5 -5
  367. data/spec/{models → accounting/models}/manual_journals_spec.rb +5 -5
  368. data/spec/{models → accounting/models}/online_invoice_spec.rb +5 -5
  369. data/spec/{models → accounting/models}/online_invoices_spec.rb +5 -5
  370. data/spec/{models → accounting/models}/organisation_spec.rb +5 -5
  371. data/spec/{models → accounting/models}/organisations_spec.rb +5 -5
  372. data/spec/{models → accounting/models}/overpayment_spec.rb +5 -5
  373. data/spec/{models → accounting/models}/overpayments_spec.rb +5 -5
  374. data/spec/{models → accounting/models}/payment_delete_spec.rb +5 -5
  375. data/spec/{models → accounting/models}/payment_service_spec.rb +5 -5
  376. data/spec/{models → accounting/models}/payment_services_spec.rb +5 -5
  377. data/spec/{models → accounting/models}/payment_spec.rb +11 -5
  378. data/spec/{models → accounting/models}/payment_term_spec.rb +5 -5
  379. data/spec/{models → accounting/models}/payment_term_type_spec.rb +5 -5
  380. data/spec/{models → accounting/models}/payments_spec.rb +5 -5
  381. data/spec/{models → accounting/models}/phone_spec.rb +5 -5
  382. data/spec/{models → accounting/models}/prepayment_spec.rb +5 -5
  383. data/spec/{models → accounting/models}/prepayments_spec.rb +5 -5
  384. data/spec/{models → accounting/models}/purchase_order_spec.rb +5 -5
  385. data/spec/{models → accounting/models}/purchase_orders_spec.rb +5 -5
  386. data/spec/{models → accounting/models}/purchase_spec.rb +5 -5
  387. data/spec/{models → accounting/models}/quote_line_amount_types_spec.rb +5 -5
  388. data/spec/{models → accounting/models}/quote_spec.rb +5 -5
  389. data/spec/{models → accounting/models}/quote_status_codes_spec.rb +5 -5
  390. data/spec/{models → accounting/models}/quotes_spec.rb +5 -5
  391. data/spec/{models → accounting/models}/receipt_spec.rb +5 -5
  392. data/spec/{models → accounting/models}/receipts_spec.rb +5 -5
  393. data/spec/{models → accounting/models}/repeating_invoice_spec.rb +5 -5
  394. data/spec/{models → accounting/models}/repeating_invoices_spec.rb +5 -5
  395. data/spec/{models → accounting/models}/report_attribute_spec.rb +5 -5
  396. data/spec/{models → accounting/models}/report_cell_spec.rb +5 -5
  397. data/spec/{models → accounting/models}/report_fields_spec.rb +5 -5
  398. data/spec/{models → accounting/models}/report_row_spec.rb +5 -5
  399. data/spec/{models → accounting/models}/report_rows_spec.rb +5 -5
  400. data/spec/{models → accounting/models}/report_spec.rb +5 -5
  401. data/spec/{models → accounting/models}/report_with_row_spec.rb +5 -5
  402. data/spec/{models → accounting/models}/report_with_rows_spec.rb +5 -5
  403. data/spec/{models → accounting/models}/reports_spec.rb +5 -5
  404. data/spec/{models → accounting/models}/request_empty_spec.rb +5 -5
  405. data/spec/{models → accounting/models}/row_type_spec.rb +5 -5
  406. data/spec/{models → accounting/models}/sales_tracking_category_spec.rb +5 -5
  407. data/spec/{models → accounting/models}/schedule_spec.rb +5 -5
  408. data/spec/{models → accounting/models}/tax_component_spec.rb +5 -5
  409. data/spec/{models → accounting/models}/tax_rate_spec.rb +6 -6
  410. data/spec/{models → accounting/models}/tax_rates_spec.rb +5 -5
  411. data/spec/{models → accounting/models}/tax_type_spec.rb +5 -5
  412. data/spec/{models → accounting/models}/ten_nintey_nine_contact_spec.rb +5 -5
  413. data/spec/{models → accounting/models}/time_zone_spec.rb +5 -5
  414. data/spec/{models → accounting/models}/tracking_categories_spec.rb +5 -5
  415. data/spec/{models → accounting/models}/tracking_category_spec.rb +5 -5
  416. data/spec/{models → accounting/models}/tracking_option_spec.rb +5 -5
  417. data/spec/{models → accounting/models}/tracking_options_spec.rb +5 -5
  418. data/spec/{models → accounting/models}/user_spec.rb +5 -5
  419. data/spec/{models → accounting/models}/users_spec.rb +5 -5
  420. data/spec/{models → accounting/models}/validation_error_spec.rb +5 -5
  421. data/spec/api_client_spec.rb +5 -43
  422. data/spec/assets/api/asset_api_spec.rb +116 -0
  423. data/spec/assets/models/asset_spec.rb +125 -0
  424. data/spec/assets/models/asset_status_query_param_spec.rb +35 -0
  425. data/spec/assets/models/asset_status_spec.rb +35 -0
  426. data/spec/assets/models/asset_type_spec.rb +77 -0
  427. data/spec/assets/models/assets_spec.rb +47 -0
  428. data/spec/assets/models/book_depreciation_detail_spec.rb +77 -0
  429. data/spec/assets/models/book_depreciation_setting_spec.rb +95 -0
  430. data/spec/assets/models/error_spec.rb +65 -0
  431. data/spec/assets/models/field_validation_errors_element_spec.rb +71 -0
  432. data/spec/assets/models/pagination_spec.rb +59 -0
  433. data/spec/assets/models/resource_validation_errors_element_spec.rb +65 -0
  434. data/spec/assets/models/setting_spec.rb +83 -0
  435. data/spec/configuration_spec.rb +7 -23
  436. data/spec/projects/api/project_api_spec.rb +229 -0
  437. data/spec/projects/models/amount_spec.rb +47 -0
  438. data/spec/projects/models/charge_type_spec.rb +35 -0
  439. data/spec/projects/models/currency_code_spec.rb +35 -0
  440. data/spec/projects/models/error_spec.rb +47 -0
  441. data/spec/projects/models/pagination_spec.rb +59 -0
  442. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  443. data/spec/projects/models/project_patch_spec.rb +41 -0
  444. data/spec/projects/models/project_spec.rb +167 -0
  445. data/spec/projects/models/project_status_spec.rb +35 -0
  446. data/spec/projects/models/project_user_spec.rb +53 -0
  447. data/spec/projects/models/project_users_spec.rb +47 -0
  448. data/spec/projects/models/projects_spec.rb +47 -0
  449. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  450. data/spec/projects/models/task_spec.rb +129 -0
  451. data/spec/projects/models/tasks_spec.rb +47 -0
  452. data/spec/projects/models/time_entries_spec.rb +47 -0
  453. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  454. data/spec/projects/models/time_entry_spec.rb +93 -0
  455. data/spec/spec_helper.rb +2 -2
  456. data/xero-ruby.gem +0 -0
  457. data/xero-ruby.gemspec +4 -4
  458. metadata +611 -482
  459. data/docs/Allocation.md +0 -21
  460. data/lib/.DS_Store +0 -0
  461. data/pkg/xero-ruby-0.1.3.gem +0 -0
  462. data/pkg/xero-ruby-0.2.2.gem +0 -0
  463. data/pkg/xero-ruby-0.2.3.gem +0 -0
@@ -0,0 +1,979 @@
1
+ # XeroRuby::Projects::ProjectApi
2
+
3
+ All URIs are relative to *https://api.xero.com/projects.xro/2.0*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**create_project**](ProjectApi.md#create_project) | **POST** /projects | create one or more new projects
8
+ [**create_time_entry**](ProjectApi.md#create_time_entry) | **POST** /projects/{projectId}/time | Allows you to create a task
9
+ [**delete_time_entry**](ProjectApi.md#delete_time_entry) | **DELETE** /projects/{projectId}/time/{timeEntryId} | Allows you to delete a time entry
10
+ [**get_project**](ProjectApi.md#get_project) | **GET** /projects/{projectId} | Allows you to retrieve a single project
11
+ [**get_project_users**](ProjectApi.md#get_project_users) | **GET** /projectsusers | list all project users
12
+ [**get_projects**](ProjectApi.md#get_projects) | **GET** /projects | list all projects
13
+ [**get_task**](ProjectApi.md#get_task) | **GET** /projects/{projectId}/tasks/{taskId} | Allows you to retrieve a single project
14
+ [**get_tasks**](ProjectApi.md#get_tasks) | **GET** /projects/{projectId}/tasks | Allows you to retrieve a single project
15
+ [**get_time_entries**](ProjectApi.md#get_time_entries) | **GET** /projects/{projectId}/time | Allows you to retrieve the time entries associated with a specific project
16
+ [**get_time_entry**](ProjectApi.md#get_time_entry) | **GET** /projects/{projectId}/time/{timeEntryId} | Allows you to get a single time entry in a project
17
+ [**patch_project**](ProjectApi.md#patch_project) | **PATCH** /projects/{projectId} | creates a project for the specified contact
18
+ [**update_project**](ProjectApi.md#update_project) | **PUT** /projects/{projectId} | update a specific project
19
+ [**update_time_entry**](ProjectApi.md#update_time_entry) | **PUT** /projects/{projectId}/time/{timeEntryId} | Allows you to update time entry in a project
20
+
21
+
22
+
23
+ ## create_project
24
+
25
+ > Project create_project(xero_tenant_id, project_create_or_update)
26
+
27
+ create one or more new projects
28
+
29
+ ### Example
30
+
31
+ ```ruby
32
+ # load the gem
33
+ require 'xero-ruby'
34
+
35
+ creds = {
36
+ client_id: ENV['CLIENT_ID'],
37
+ client_secret: ENV['CLIENT_SECRET'],
38
+ redirect_uri: ENV['REDIRECT_URI'],
39
+ scopes: ENV['SCOPES']
40
+ }
41
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
42
+
43
+ token_set = fetch_valid_token_set(user) # example
44
+
45
+ xero_client.refresh_token_set(token_set)
46
+
47
+ # depending on the methods you need to use
48
+ # accounting_api
49
+ api_instance = xero_client.accounting_api
50
+ # :assets_api
51
+ api_instance = xero_client.asset_api
52
+ # :projects_api
53
+ api_instance = xero_client.projects_api
54
+
55
+
56
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
57
+ project_create_or_update = { "contactId":"00000000-0000-0000-000-000000000000", "name":"New Kitchen", "deadlineUtc":"2019-12-10T12:59:59Z", "estimateAmount":"99.99" } # ProjectCreateOrUpdate | Create a new project with ProjectCreateOrUpdate object
58
+ begin
59
+ #create one or more new projects
60
+ result = api_instance.create_project(xero_tenant_id, project_create_or_update)
61
+ p result
62
+ rescue XeroRuby::Projects::ApiError => e
63
+ puts "Exception when calling ProjectApi->create_project: #{e}"
64
+ end
65
+ ```
66
+
67
+ ### Parameters
68
+
69
+
70
+ Name | Type | Description | Notes
71
+ ------------- | ------------- | ------------- | -------------
72
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
73
+ **project_create_or_update** | [**ProjectCreateOrUpdate**](ProjectCreateOrUpdate.md)| Create a new project with ProjectCreateOrUpdate object |
74
+
75
+ ### Return type
76
+
77
+ [**Project**](Project.md)
78
+
79
+ ### Authorization
80
+
81
+ [OAuth2](../README.md#OAuth2)
82
+
83
+ ### HTTP request headers
84
+
85
+ - **Content-Type**: application/json
86
+ - **Accept**: application/json
87
+
88
+
89
+ ## create_time_entry
90
+
91
+ > TimeEntry create_time_entry(xero_tenant_id, project_id, time_entry_create_or_update)
92
+
93
+ Allows you to create a task
94
+
95
+ Allows you to create a specific task
96
+
97
+ ### Example
98
+
99
+ ```ruby
100
+ # load the gem
101
+ require 'xero-ruby'
102
+
103
+ creds = {
104
+ client_id: ENV['CLIENT_ID'],
105
+ client_secret: ENV['CLIENT_SECRET'],
106
+ redirect_uri: ENV['REDIRECT_URI'],
107
+ scopes: ENV['SCOPES']
108
+ }
109
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
110
+
111
+ token_set = fetch_valid_token_set(user) # example
112
+
113
+ xero_client.refresh_token_set(token_set)
114
+
115
+ # depending on the methods you need to use
116
+ # accounting_api
117
+ api_instance = xero_client.accounting_api
118
+ # :assets_api
119
+ api_instance = xero_client.asset_api
120
+ # :projects_api
121
+ api_instance = xero_client.projects_api
122
+
123
+
124
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
125
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
126
+ time_entry_create_or_update = { "userId":"740add2a-a703-4b8a-a670-1093919c2040", "taskId":"7be77337-feec-4458-bb1b-dbaa5a4aafce", "dateUtc":"2020-02-26T15:00:00Z", "duration":30, "description":"My description" } # TimeEntryCreateOrUpdate | The time entry object you are creating
127
+ begin
128
+ #Allows you to create a task
129
+ result = api_instance.create_time_entry(xero_tenant_id, project_id, time_entry_create_or_update)
130
+ p result
131
+ rescue XeroRuby::Projects::ApiError => e
132
+ puts "Exception when calling ProjectApi->create_time_entry: #{e}"
133
+ end
134
+ ```
135
+
136
+ ### Parameters
137
+
138
+
139
+ Name | Type | Description | Notes
140
+ ------------- | ------------- | ------------- | -------------
141
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
142
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
143
+ **time_entry_create_or_update** | [**TimeEntryCreateOrUpdate**](TimeEntryCreateOrUpdate.md)| The time entry object you are creating |
144
+
145
+ ### Return type
146
+
147
+ [**TimeEntry**](TimeEntry.md)
148
+
149
+ ### Authorization
150
+
151
+ [OAuth2](../README.md#OAuth2)
152
+
153
+ ### HTTP request headers
154
+
155
+ - **Content-Type**: application/json
156
+ - **Accept**: application/json
157
+
158
+
159
+ ## delete_time_entry
160
+
161
+ > delete_time_entry(xero_tenant_id, project_id, time_entry_id)
162
+
163
+ Allows you to delete a time entry
164
+
165
+ Allows you to delete a specific time entry
166
+
167
+ ### Example
168
+
169
+ ```ruby
170
+ # load the gem
171
+ require 'xero-ruby'
172
+
173
+ creds = {
174
+ client_id: ENV['CLIENT_ID'],
175
+ client_secret: ENV['CLIENT_SECRET'],
176
+ redirect_uri: ENV['REDIRECT_URI'],
177
+ scopes: ENV['SCOPES']
178
+ }
179
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
180
+
181
+ token_set = fetch_valid_token_set(user) # example
182
+
183
+ xero_client.refresh_token_set(token_set)
184
+
185
+ # depending on the methods you need to use
186
+ # accounting_api
187
+ api_instance = xero_client.accounting_api
188
+ # :assets_api
189
+ api_instance = xero_client.asset_api
190
+ # :projects_api
191
+ api_instance = xero_client.projects_api
192
+
193
+
194
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
195
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
196
+ time_entry_id = 'time_entry_id_example' # String | You can specify an individual task by appending the id to the endpoint
197
+ begin
198
+ #Allows you to delete a time entry
199
+ api_instance.delete_time_entry(xero_tenant_id, project_id, time_entry_id)
200
+ rescue XeroRuby::Projects::ApiError => e
201
+ puts "Exception when calling ProjectApi->delete_time_entry: #{e}"
202
+ end
203
+ ```
204
+
205
+ ### Parameters
206
+
207
+
208
+ Name | Type | Description | Notes
209
+ ------------- | ------------- | ------------- | -------------
210
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
211
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
212
+ **time_entry_id** | [**String**](.md)| You can specify an individual task by appending the id to the endpoint |
213
+
214
+ ### Return type
215
+
216
+ nil (empty response body)
217
+
218
+ ### Authorization
219
+
220
+ [OAuth2](../README.md#OAuth2)
221
+
222
+ ### HTTP request headers
223
+
224
+ - **Content-Type**: Not defined
225
+ - **Accept**: Not defined
226
+
227
+
228
+ ## get_project
229
+
230
+ > Project get_project(xero_tenant_id, project_id)
231
+
232
+ Allows you to retrieve a single project
233
+
234
+ Allows you to retrieve a specific project
235
+
236
+ ### Example
237
+
238
+ ```ruby
239
+ # load the gem
240
+ require 'xero-ruby'
241
+
242
+ creds = {
243
+ client_id: ENV['CLIENT_ID'],
244
+ client_secret: ENV['CLIENT_SECRET'],
245
+ redirect_uri: ENV['REDIRECT_URI'],
246
+ scopes: ENV['SCOPES']
247
+ }
248
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
249
+
250
+ token_set = fetch_valid_token_set(user) # example
251
+
252
+ xero_client.refresh_token_set(token_set)
253
+
254
+ # depending on the methods you need to use
255
+ # accounting_api
256
+ api_instance = xero_client.accounting_api
257
+ # :assets_api
258
+ api_instance = xero_client.asset_api
259
+ # :projects_api
260
+ api_instance = xero_client.projects_api
261
+
262
+
263
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
264
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
265
+ begin
266
+ #Allows you to retrieve a single project
267
+ result = api_instance.get_project(xero_tenant_id, project_id)
268
+ p result
269
+ rescue XeroRuby::Projects::ApiError => e
270
+ puts "Exception when calling ProjectApi->get_project: #{e}"
271
+ end
272
+ ```
273
+
274
+ ### Parameters
275
+
276
+
277
+ Name | Type | Description | Notes
278
+ ------------- | ------------- | ------------- | -------------
279
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
280
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
281
+
282
+ ### Return type
283
+
284
+ [**Project**](Project.md)
285
+
286
+ ### Authorization
287
+
288
+ [OAuth2](../README.md#OAuth2)
289
+
290
+ ### HTTP request headers
291
+
292
+ - **Content-Type**: Not defined
293
+ - **Accept**: application/json
294
+
295
+
296
+ ## get_project_users
297
+
298
+ > ProjectUsers get_project_users(xero_tenant_id, opts)
299
+
300
+ list all project users
301
+
302
+ Allows you to retrieve the users on a projects.
303
+
304
+ ### Example
305
+
306
+ ```ruby
307
+ # load the gem
308
+ require 'xero-ruby'
309
+
310
+ creds = {
311
+ client_id: ENV['CLIENT_ID'],
312
+ client_secret: ENV['CLIENT_SECRET'],
313
+ redirect_uri: ENV['REDIRECT_URI'],
314
+ scopes: ENV['SCOPES']
315
+ }
316
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
317
+
318
+ token_set = fetch_valid_token_set(user) # example
319
+
320
+ xero_client.refresh_token_set(token_set)
321
+
322
+ # depending on the methods you need to use
323
+ # accounting_api
324
+ api_instance = xero_client.accounting_api
325
+ # :assets_api
326
+ api_instance = xero_client.asset_api
327
+ # :projects_api
328
+ api_instance = xero_client.projects_api
329
+
330
+
331
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
332
+ opts = {
333
+ page: 1, # Integer | set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
334
+
335
+ page_size: 50 # Integer | Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
336
+ }
337
+
338
+ begin
339
+ #list all project users
340
+ result = api_instance.get_project_users(xero_tenant_id, opts)
341
+ p result
342
+ rescue XeroRuby::Projects::ApiError => e
343
+ puts "Exception when calling ProjectApi->get_project_users: #{e}"
344
+ end
345
+ ```
346
+
347
+ ### Parameters
348
+
349
+
350
+ Name | Type | Description | Notes
351
+ ------------- | ------------- | ------------- | -------------
352
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
353
+ **page** | **Integer**| set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0. | [optional] [default to 1]
354
+ **page_size** | **Integer**| Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500. | [optional] [default to 50]
355
+
356
+ ### Return type
357
+
358
+ [**ProjectUsers**](ProjectUsers.md)
359
+
360
+ ### Authorization
361
+
362
+ [OAuth2](../README.md#OAuth2)
363
+
364
+ ### HTTP request headers
365
+
366
+ - **Content-Type**: Not defined
367
+ - **Accept**: application/json
368
+
369
+
370
+ ## get_projects
371
+
372
+ > Projects get_projects(xero_tenant_id, opts)
373
+
374
+ list all projects
375
+
376
+ Allows you to retrieve, create and update projects.
377
+
378
+ ### Example
379
+
380
+ ```ruby
381
+ # load the gem
382
+ require 'xero-ruby'
383
+
384
+ creds = {
385
+ client_id: ENV['CLIENT_ID'],
386
+ client_secret: ENV['CLIENT_SECRET'],
387
+ redirect_uri: ENV['REDIRECT_URI'],
388
+ scopes: ENV['SCOPES']
389
+ }
390
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
391
+
392
+ token_set = fetch_valid_token_set(user) # example
393
+
394
+ xero_client.refresh_token_set(token_set)
395
+
396
+ # depending on the methods you need to use
397
+ # accounting_api
398
+ api_instance = xero_client.accounting_api
399
+ # :assets_api
400
+ api_instance = xero_client.asset_api
401
+ # :projects_api
402
+ api_instance = xero_client.projects_api
403
+
404
+
405
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
406
+ opts = {
407
+ project_ids: ['project_ids_example'], # Array<String> | Search for all projects that match a comma separated list of projectIds
408
+
409
+ contact_id: 'contact_id_example', # String | Filter for projects for a specific contact
410
+
411
+ states: 'states_example', # String | Filter for projects in a particular state (INPROGRESS or CLOSED)
412
+
413
+ page: 1, # Integer | set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
414
+
415
+ page_size: 50 # Integer | Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
416
+ }
417
+
418
+ begin
419
+ #list all projects
420
+ result = api_instance.get_projects(xero_tenant_id, opts)
421
+ p result
422
+ rescue XeroRuby::Projects::ApiError => e
423
+ puts "Exception when calling ProjectApi->get_projects: #{e}"
424
+ end
425
+ ```
426
+
427
+ ### Parameters
428
+
429
+
430
+ Name | Type | Description | Notes
431
+ ------------- | ------------- | ------------- | -------------
432
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
433
+ **project_ids** | [**Array&lt;String&gt;**](String.md)| Search for all projects that match a comma separated list of projectIds | [optional]
434
+ **contact_id** | [**String**](.md)| Filter for projects for a specific contact | [optional]
435
+ **states** | **String**| Filter for projects in a particular state (INPROGRESS or CLOSED) | [optional]
436
+ **page** | **Integer**| set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0. | [optional] [default to 1]
437
+ **page_size** | **Integer**| Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500. | [optional] [default to 50]
438
+
439
+ ### Return type
440
+
441
+ [**Projects**](Projects.md)
442
+
443
+ ### Authorization
444
+
445
+ [OAuth2](../README.md#OAuth2)
446
+
447
+ ### HTTP request headers
448
+
449
+ - **Content-Type**: Not defined
450
+ - **Accept**: application/json
451
+
452
+
453
+ ## get_task
454
+
455
+ > Task get_task(xero_tenant_id, project_id, task_id)
456
+
457
+ Allows you to retrieve a single project
458
+
459
+ Allows you to retrieve a specific project
460
+
461
+ ### Example
462
+
463
+ ```ruby
464
+ # load the gem
465
+ require 'xero-ruby'
466
+
467
+ creds = {
468
+ client_id: ENV['CLIENT_ID'],
469
+ client_secret: ENV['CLIENT_SECRET'],
470
+ redirect_uri: ENV['REDIRECT_URI'],
471
+ scopes: ENV['SCOPES']
472
+ }
473
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
474
+
475
+ token_set = fetch_valid_token_set(user) # example
476
+
477
+ xero_client.refresh_token_set(token_set)
478
+
479
+ # depending on the methods you need to use
480
+ # accounting_api
481
+ api_instance = xero_client.accounting_api
482
+ # :assets_api
483
+ api_instance = xero_client.asset_api
484
+ # :projects_api
485
+ api_instance = xero_client.projects_api
486
+
487
+
488
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
489
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
490
+ task_id = 'task_id_example' # String | You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskId}
491
+ begin
492
+ #Allows you to retrieve a single project
493
+ result = api_instance.get_task(xero_tenant_id, project_id, task_id)
494
+ p result
495
+ rescue XeroRuby::Projects::ApiError => e
496
+ puts "Exception when calling ProjectApi->get_task: #{e}"
497
+ end
498
+ ```
499
+
500
+ ### Parameters
501
+
502
+
503
+ Name | Type | Description | Notes
504
+ ------------- | ------------- | ------------- | -------------
505
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
506
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
507
+ **task_id** | [**String**](.md)| You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskId} |
508
+
509
+ ### Return type
510
+
511
+ [**Task**](Task.md)
512
+
513
+ ### Authorization
514
+
515
+ [OAuth2](../README.md#OAuth2)
516
+
517
+ ### HTTP request headers
518
+
519
+ - **Content-Type**: Not defined
520
+ - **Accept**: application/json
521
+
522
+
523
+ ## get_tasks
524
+
525
+ > Tasks get_tasks(xero_tenant_id, project_id, opts)
526
+
527
+ Allows you to retrieve a single project
528
+
529
+ Allows you to retrieve a specific project
530
+
531
+ ### Example
532
+
533
+ ```ruby
534
+ # load the gem
535
+ require 'xero-ruby'
536
+
537
+ creds = {
538
+ client_id: ENV['CLIENT_ID'],
539
+ client_secret: ENV['CLIENT_SECRET'],
540
+ redirect_uri: ENV['REDIRECT_URI'],
541
+ scopes: ENV['SCOPES']
542
+ }
543
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
544
+
545
+ token_set = fetch_valid_token_set(user) # example
546
+
547
+ xero_client.refresh_token_set(token_set)
548
+
549
+ # depending on the methods you need to use
550
+ # accounting_api
551
+ api_instance = xero_client.accounting_api
552
+ # :assets_api
553
+ api_instance = xero_client.asset_api
554
+ # :projects_api
555
+ api_instance = xero_client.projects_api
556
+
557
+
558
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
559
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
560
+ opts = {
561
+ page: 1, # Integer | Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
562
+
563
+ page_size: 10, # Integer | Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
564
+
565
+ task_ids: 'task_ids_example' # String | taskIdsSearch for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds={taskId},{taskId}
566
+ }
567
+
568
+ begin
569
+ #Allows you to retrieve a single project
570
+ result = api_instance.get_tasks(xero_tenant_id, project_id, opts)
571
+ p result
572
+ rescue XeroRuby::Projects::ApiError => e
573
+ puts "Exception when calling ProjectApi->get_tasks: #{e}"
574
+ end
575
+ ```
576
+
577
+ ### Parameters
578
+
579
+
580
+ Name | Type | Description | Notes
581
+ ------------- | ------------- | ------------- | -------------
582
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
583
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
584
+ **page** | **Integer**| Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0. | [optional]
585
+ **page_size** | **Integer**| Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500. | [optional]
586
+ **task_ids** | **String**| taskIdsSearch for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds&#x3D;{taskId},{taskId} | [optional]
587
+
588
+ ### Return type
589
+
590
+ [**Tasks**](Tasks.md)
591
+
592
+ ### Authorization
593
+
594
+ [OAuth2](../README.md#OAuth2)
595
+
596
+ ### HTTP request headers
597
+
598
+ - **Content-Type**: Not defined
599
+ - **Accept**: application/json
600
+
601
+
602
+ ## get_time_entries
603
+
604
+ > TimeEntries get_time_entries(xero_tenant_id, project_id, opts)
605
+
606
+ Allows you to retrieve the time entries associated with a specific project
607
+
608
+ Allows you to retrieve the time entries associated with a specific project
609
+
610
+ ### Example
611
+
612
+ ```ruby
613
+ # load the gem
614
+ require 'xero-ruby'
615
+
616
+ creds = {
617
+ client_id: ENV['CLIENT_ID'],
618
+ client_secret: ENV['CLIENT_SECRET'],
619
+ redirect_uri: ENV['REDIRECT_URI'],
620
+ scopes: ENV['SCOPES']
621
+ }
622
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
623
+
624
+ token_set = fetch_valid_token_set(user) # example
625
+
626
+ xero_client.refresh_token_set(token_set)
627
+
628
+ # depending on the methods you need to use
629
+ # accounting_api
630
+ api_instance = xero_client.accounting_api
631
+ # :assets_api
632
+ api_instance = xero_client.asset_api
633
+ # :projects_api
634
+ api_instance = xero_client.projects_api
635
+
636
+
637
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
638
+ project_id = 'project_id_example' # String | Identifier of the project, that the task (which the time entry is logged against) belongs to.
639
+ opts = {
640
+ user_id: 'user_id_example', # String | The xero user identifier of the person who logged time.
641
+
642
+ task_id: 'task_id_example', # String | Identifier of the task that time entry is logged against.
643
+
644
+ invoice_id: 'invoice_id_example', # String | Finds all time entries for this invoice.
645
+
646
+ contact_id: 'contact_id_example', # String | Finds all time entries for this contact identifier.
647
+
648
+ page: 1, # Integer | Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
649
+
650
+ page_size: 10, # Integer | Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
651
+
652
+ states: ['states_example'], # Array<String> | Comma-separated list of states to find. Will find all time entries that are in the status of whatever’s specified.
653
+
654
+ is_chargeable: true, # Boolean | Finds all time entries which relate to tasks with the charge type `TIME` or `FIXED`.
655
+
656
+ date_after_utc: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | ISO 8601 UTC date. Finds all time entries on or after this date filtered on the `dateUtc` field.
657
+
658
+ date_before_utc: DateTime.parse('2013-10-20T19:20:30+01:00') # DateTime | ISO 8601 UTC date. Finds all time entries on or before this date filtered on the `dateUtc` field.
659
+ }
660
+
661
+ begin
662
+ #Allows you to retrieve the time entries associated with a specific project
663
+ result = api_instance.get_time_entries(xero_tenant_id, project_id, opts)
664
+ p result
665
+ rescue XeroRuby::Projects::ApiError => e
666
+ puts "Exception when calling ProjectApi->get_time_entries: #{e}"
667
+ end
668
+ ```
669
+
670
+ ### Parameters
671
+
672
+
673
+ Name | Type | Description | Notes
674
+ ------------- | ------------- | ------------- | -------------
675
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
676
+ **project_id** | [**String**](.md)| Identifier of the project, that the task (which the time entry is logged against) belongs to. |
677
+ **user_id** | [**String**](.md)| The xero user identifier of the person who logged time. | [optional]
678
+ **task_id** | [**String**](.md)| Identifier of the task that time entry is logged against. | [optional]
679
+ **invoice_id** | [**String**](.md)| Finds all time entries for this invoice. | [optional]
680
+ **contact_id** | [**String**](.md)| Finds all time entries for this contact identifier. | [optional]
681
+ **page** | **Integer**| Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0. | [optional]
682
+ **page_size** | **Integer**| Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500. | [optional]
683
+ **states** | [**Array&lt;String&gt;**](String.md)| Comma-separated list of states to find. Will find all time entries that are in the status of whatever’s specified. | [optional]
684
+ **is_chargeable** | **Boolean**| Finds all time entries which relate to tasks with the charge type &#x60;TIME&#x60; or &#x60;FIXED&#x60;. | [optional]
685
+ **date_after_utc** | **DateTime**| ISO 8601 UTC date. Finds all time entries on or after this date filtered on the &#x60;dateUtc&#x60; field. | [optional]
686
+ **date_before_utc** | **DateTime**| ISO 8601 UTC date. Finds all time entries on or before this date filtered on the &#x60;dateUtc&#x60; field. | [optional]
687
+
688
+ ### Return type
689
+
690
+ [**TimeEntries**](TimeEntries.md)
691
+
692
+ ### Authorization
693
+
694
+ [OAuth2](../README.md#OAuth2)
695
+
696
+ ### HTTP request headers
697
+
698
+ - **Content-Type**: Not defined
699
+ - **Accept**: application/json
700
+
701
+
702
+ ## get_time_entry
703
+
704
+ > TimeEntry get_time_entry(xero_tenant_id, project_id, time_entry_id)
705
+
706
+ Allows you to get a single time entry in a project
707
+
708
+ Allows you to upget a single time entry in a project
709
+
710
+ ### Example
711
+
712
+ ```ruby
713
+ # load the gem
714
+ require 'xero-ruby'
715
+
716
+ creds = {
717
+ client_id: ENV['CLIENT_ID'],
718
+ client_secret: ENV['CLIENT_SECRET'],
719
+ redirect_uri: ENV['REDIRECT_URI'],
720
+ scopes: ENV['SCOPES']
721
+ }
722
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
723
+
724
+ token_set = fetch_valid_token_set(user) # example
725
+
726
+ xero_client.refresh_token_set(token_set)
727
+
728
+ # depending on the methods you need to use
729
+ # accounting_api
730
+ api_instance = xero_client.accounting_api
731
+ # :assets_api
732
+ api_instance = xero_client.asset_api
733
+ # :projects_api
734
+ api_instance = xero_client.projects_api
735
+
736
+
737
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
738
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
739
+ time_entry_id = 'time_entry_id_example' # String | You can specify an individual time entry by appending the id to the endpoint
740
+ begin
741
+ #Allows you to get a single time entry in a project
742
+ result = api_instance.get_time_entry(xero_tenant_id, project_id, time_entry_id)
743
+ p result
744
+ rescue XeroRuby::Projects::ApiError => e
745
+ puts "Exception when calling ProjectApi->get_time_entry: #{e}"
746
+ end
747
+ ```
748
+
749
+ ### Parameters
750
+
751
+
752
+ Name | Type | Description | Notes
753
+ ------------- | ------------- | ------------- | -------------
754
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
755
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
756
+ **time_entry_id** | [**String**](.md)| You can specify an individual time entry by appending the id to the endpoint |
757
+
758
+ ### Return type
759
+
760
+ [**TimeEntry**](TimeEntry.md)
761
+
762
+ ### Authorization
763
+
764
+ [OAuth2](../README.md#OAuth2)
765
+
766
+ ### HTTP request headers
767
+
768
+ - **Content-Type**: Not defined
769
+ - **Accept**: application/json
770
+
771
+
772
+ ## patch_project
773
+
774
+ > patch_project(xero_tenant_id, project_id, project_patch)
775
+
776
+ creates a project for the specified contact
777
+
778
+ Allows you to update a specific projects.
779
+
780
+ ### Example
781
+
782
+ ```ruby
783
+ # load the gem
784
+ require 'xero-ruby'
785
+
786
+ creds = {
787
+ client_id: ENV['CLIENT_ID'],
788
+ client_secret: ENV['CLIENT_SECRET'],
789
+ redirect_uri: ENV['REDIRECT_URI'],
790
+ scopes: ENV['SCOPES']
791
+ }
792
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
793
+
794
+ token_set = fetch_valid_token_set(user) # example
795
+
796
+ xero_client.refresh_token_set(token_set)
797
+
798
+ # depending on the methods you need to use
799
+ # accounting_api
800
+ api_instance = xero_client.accounting_api
801
+ # :assets_api
802
+ api_instance = xero_client.asset_api
803
+ # :projects_api
804
+ api_instance = xero_client.projects_api
805
+
806
+
807
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
808
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
809
+ project_patch = { "status": "INPROGRESS" } # ProjectPatch | Update the status of an existing Project
810
+ begin
811
+ #creates a project for the specified contact
812
+ api_instance.patch_project(xero_tenant_id, project_id, project_patch)
813
+ rescue XeroRuby::Projects::ApiError => e
814
+ puts "Exception when calling ProjectApi->patch_project: #{e}"
815
+ end
816
+ ```
817
+
818
+ ### Parameters
819
+
820
+
821
+ Name | Type | Description | Notes
822
+ ------------- | ------------- | ------------- | -------------
823
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
824
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
825
+ **project_patch** | [**ProjectPatch**](ProjectPatch.md)| Update the status of an existing Project |
826
+
827
+ ### Return type
828
+
829
+ nil (empty response body)
830
+
831
+ ### Authorization
832
+
833
+ [OAuth2](../README.md#OAuth2)
834
+
835
+ ### HTTP request headers
836
+
837
+ - **Content-Type**: application/json
838
+ - **Accept**: application/json
839
+
840
+
841
+ ## update_project
842
+
843
+ > update_project(xero_tenant_id, project_id, project_create_or_update)
844
+
845
+ update a specific project
846
+
847
+ Allows you to update a specific projects.
848
+
849
+ ### Example
850
+
851
+ ```ruby
852
+ # load the gem
853
+ require 'xero-ruby'
854
+
855
+ creds = {
856
+ client_id: ENV['CLIENT_ID'],
857
+ client_secret: ENV['CLIENT_SECRET'],
858
+ redirect_uri: ENV['REDIRECT_URI'],
859
+ scopes: ENV['SCOPES']
860
+ }
861
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
862
+
863
+ token_set = fetch_valid_token_set(user) # example
864
+
865
+ xero_client.refresh_token_set(token_set)
866
+
867
+ # depending on the methods you need to use
868
+ # accounting_api
869
+ api_instance = xero_client.accounting_api
870
+ # :assets_api
871
+ api_instance = xero_client.asset_api
872
+ # :projects_api
873
+ api_instance = xero_client.projects_api
874
+
875
+
876
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
877
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
878
+ project_create_or_update = { "name": "New Kitchen", "deadlineUtc": "2017-04-23T18:25:43.511Z", "estimateAmount": 99.99 } # ProjectCreateOrUpdate | Request of type ProjectCreateOrUpdate
879
+ begin
880
+ #update a specific project
881
+ api_instance.update_project(xero_tenant_id, project_id, project_create_or_update)
882
+ rescue XeroRuby::Projects::ApiError => e
883
+ puts "Exception when calling ProjectApi->update_project: #{e}"
884
+ end
885
+ ```
886
+
887
+ ### Parameters
888
+
889
+
890
+ Name | Type | Description | Notes
891
+ ------------- | ------------- | ------------- | -------------
892
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
893
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
894
+ **project_create_or_update** | [**ProjectCreateOrUpdate**](ProjectCreateOrUpdate.md)| Request of type ProjectCreateOrUpdate |
895
+
896
+ ### Return type
897
+
898
+ nil (empty response body)
899
+
900
+ ### Authorization
901
+
902
+ [OAuth2](../README.md#OAuth2)
903
+
904
+ ### HTTP request headers
905
+
906
+ - **Content-Type**: application/json
907
+ - **Accept**: application/json
908
+
909
+
910
+ ## update_time_entry
911
+
912
+ > update_time_entry(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update)
913
+
914
+ Allows you to update time entry in a project
915
+
916
+ Allows you to update time entry in a project
917
+
918
+ ### Example
919
+
920
+ ```ruby
921
+ # load the gem
922
+ require 'xero-ruby'
923
+
924
+ creds = {
925
+ client_id: ENV['CLIENT_ID'],
926
+ client_secret: ENV['CLIENT_SECRET'],
927
+ redirect_uri: ENV['REDIRECT_URI'],
928
+ scopes: ENV['SCOPES']
929
+ }
930
+ xero_client = XeroRuby::ApiClient.new(credentials: creds)
931
+
932
+ token_set = fetch_valid_token_set(user) # example
933
+
934
+ xero_client.refresh_token_set(token_set)
935
+
936
+ # depending on the methods you need to use
937
+ # accounting_api
938
+ api_instance = xero_client.accounting_api
939
+ # :assets_api
940
+ api_instance = xero_client.asset_api
941
+ # :projects_api
942
+ api_instance = xero_client.projects_api
943
+
944
+
945
+ xero_tenant_id = 'xero_tenant_id_example' # String | Xero identifier for Tenant
946
+ project_id = 'project_id_example' # String | You can specify an individual project by appending the projectId to the endpoint
947
+ time_entry_id = 'time_entry_id_example' # String | You can specify an individual time entry by appending the id to the endpoint
948
+ time_entry_create_or_update = { "userId":"740add2a-a703-4b8a-a670-1093919c2040", "taskId":"7be77337-feec-4458-bb1b-dbaa5a4aafce", "dateUtc":"2020-02-27T15:00:00Z", "duration":45, "description":"My UPDATED description" } # TimeEntryCreateOrUpdate | The time entry object you are updating
949
+ begin
950
+ #Allows you to update time entry in a project
951
+ api_instance.update_time_entry(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update)
952
+ rescue XeroRuby::Projects::ApiError => e
953
+ puts "Exception when calling ProjectApi->update_time_entry: #{e}"
954
+ end
955
+ ```
956
+
957
+ ### Parameters
958
+
959
+
960
+ Name | Type | Description | Notes
961
+ ------------- | ------------- | ------------- | -------------
962
+ **xero_tenant_id** | **String**| Xero identifier for Tenant |
963
+ **project_id** | [**String**](.md)| You can specify an individual project by appending the projectId to the endpoint |
964
+ **time_entry_id** | [**String**](.md)| You can specify an individual time entry by appending the id to the endpoint |
965
+ **time_entry_create_or_update** | [**TimeEntryCreateOrUpdate**](TimeEntryCreateOrUpdate.md)| The time entry object you are updating |
966
+
967
+ ### Return type
968
+
969
+ nil (empty response body)
970
+
971
+ ### Authorization
972
+
973
+ [OAuth2](../README.md#OAuth2)
974
+
975
+ ### HTTP request headers
976
+
977
+ - **Content-Type**: application/json
978
+ - **Accept**: Not defined
979
+