xero-ruby 0.2.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 +155 -436
  7. data/build_notes.md +17 -0
  8. data/docs/{Account.md → accounting/Account.md} +3 -3
  9. data/docs/accounting/AccountType.md +16 -0
  10. data/docs/{AccountingApi.md → accounting/AccountingApi.md} +4990 -1787
  11. data/docs/{Accounts.md → accounting/Accounts.md} +3 -3
  12. data/docs/{AccountsPayable.md → accounting/AccountsPayable.md} +3 -3
  13. data/docs/{AccountsReceivable.md → accounting/AccountsReceivable.md} +3 -3
  14. data/docs/{Address.md → accounting/Address.md} +3 -3
  15. data/docs/accounting/Allocation.md +31 -0
  16. data/docs/{Allocations.md → accounting/Allocations.md} +3 -3
  17. data/docs/{Attachment.md → accounting/Attachment.md} +3 -3
  18. data/docs/{Attachments.md → accounting/Attachments.md} +3 -3
  19. data/docs/{Balances.md → accounting/Balances.md} +3 -3
  20. data/docs/{BankTransaction.md → accounting/BankTransaction.md} +3 -3
  21. data/docs/{BankTransactions.md → accounting/BankTransactions.md} +3 -3
  22. data/docs/{BankTransfer.md → accounting/BankTransfer.md} +4 -4
  23. data/docs/{BankTransfers.md → accounting/BankTransfers.md} +3 -3
  24. data/docs/{BatchPayment.md → accounting/BatchPayment.md} +4 -4
  25. data/docs/{BatchPaymentDetails.md → accounting/BatchPaymentDetails.md} +3 -3
  26. data/docs/{BatchPayments.md → accounting/BatchPayments.md} +3 -3
  27. data/docs/{Bill.md → accounting/Bill.md} +3 -3
  28. data/docs/{BrandingTheme.md → accounting/BrandingTheme.md} +3 -3
  29. data/docs/{BrandingThemes.md → accounting/BrandingThemes.md} +3 -3
  30. data/docs/{CISOrgSetting.md → accounting/CISOrgSetting.md} +3 -3
  31. data/docs/{CISSetting.md → accounting/CISSetting.md} +3 -3
  32. data/docs/{CISSettings.md → accounting/CISSettings.md} +3 -3
  33. data/docs/{Contact.md → accounting/Contact.md} +5 -5
  34. data/docs/{ContactGroup.md → accounting/ContactGroup.md} +3 -3
  35. data/docs/{ContactGroups.md → accounting/ContactGroups.md} +3 -3
  36. data/docs/{ContactPerson.md → accounting/ContactPerson.md} +3 -3
  37. data/docs/{Contacts.md → accounting/Contacts.md} +3 -3
  38. data/docs/accounting/CountryCode.md +16 -0
  39. data/docs/{CreditNote.md → accounting/CreditNote.md} +5 -5
  40. data/docs/{CreditNotes.md → accounting/CreditNotes.md} +3 -3
  41. data/docs/{Currencies.md → accounting/Currencies.md} +3 -3
  42. data/docs/{Currency.md → accounting/Currency.md} +3 -3
  43. data/docs/accounting/CurrencyCode.md +16 -0
  44. data/docs/{Element.md → accounting/Element.md} +3 -3
  45. data/docs/{Employee.md → accounting/Employee.md} +3 -3
  46. data/docs/{Employees.md → accounting/Employees.md} +3 -3
  47. data/docs/{Error.md → accounting/Error.md} +3 -3
  48. data/docs/{ExpenseClaim.md → accounting/ExpenseClaim.md} +3 -3
  49. data/docs/{ExpenseClaims.md → accounting/ExpenseClaims.md} +3 -3
  50. data/docs/{ExternalLink.md → accounting/ExternalLink.md} +3 -3
  51. data/docs/{HistoryRecord.md → accounting/HistoryRecord.md} +3 -3
  52. data/docs/{HistoryRecords.md → accounting/HistoryRecords.md} +3 -3
  53. data/docs/{Invoice.md → accounting/Invoice.md} +5 -5
  54. data/docs/{InvoiceReminder.md → accounting/InvoiceReminder.md} +3 -3
  55. data/docs/{InvoiceReminders.md → accounting/InvoiceReminders.md} +3 -3
  56. data/docs/{Invoices.md → accounting/Invoices.md} +3 -3
  57. data/docs/{Item.md → accounting/Item.md} +3 -3
  58. data/docs/{Items.md → accounting/Items.md} +3 -3
  59. data/docs/{Journal.md → accounting/Journal.md} +4 -4
  60. data/docs/{JournalLine.md → accounting/JournalLine.md} +3 -3
  61. data/docs/{Journals.md → accounting/Journals.md} +3 -3
  62. data/docs/accounting/LineAmountTypes.md +16 -0
  63. data/docs/{LineItem.md → accounting/LineItem.md} +3 -3
  64. data/docs/{LineItemTracking.md → accounting/LineItemTracking.md} +3 -3
  65. data/docs/{LinkedTransaction.md → accounting/LinkedTransaction.md} +3 -3
  66. data/docs/{LinkedTransactions.md → accounting/LinkedTransactions.md} +3 -3
  67. data/docs/{ManualJournal.md → accounting/ManualJournal.md} +3 -3
  68. data/docs/{ManualJournalLine.md → accounting/ManualJournalLine.md} +5 -3
  69. data/docs/{ManualJournals.md → accounting/ManualJournals.md} +3 -3
  70. data/docs/{OnlineInvoice.md → accounting/OnlineInvoice.md} +3 -3
  71. data/docs/{OnlineInvoices.md → accounting/OnlineInvoices.md} +3 -3
  72. data/docs/{Organisation.md → accounting/Organisation.md} +6 -4
  73. data/docs/{Organisations.md → accounting/Organisations.md} +3 -3
  74. data/docs/{Overpayment.md → accounting/Overpayment.md} +3 -3
  75. data/docs/{Overpayments.md → accounting/Overpayments.md} +3 -3
  76. data/docs/{Payment.md → accounting/Payment.md} +9 -7
  77. data/docs/{PaymentDelete.md → accounting/PaymentDelete.md} +3 -3
  78. data/docs/{PaymentService.md → accounting/PaymentService.md} +3 -3
  79. data/docs/{PaymentServices.md → accounting/PaymentServices.md} +3 -3
  80. data/docs/{PaymentTerm.md → accounting/PaymentTerm.md} +3 -3
  81. data/docs/{PaymentTermType.md → accounting/PaymentTermType.md} +3 -3
  82. data/docs/{Payments.md → accounting/Payments.md} +3 -3
  83. data/docs/{Phone.md → accounting/Phone.md} +3 -3
  84. data/docs/{Prepayment.md → accounting/Prepayment.md} +3 -3
  85. data/docs/{Prepayments.md → accounting/Prepayments.md} +3 -3
  86. data/docs/{Purchase.md → accounting/Purchase.md} +3 -3
  87. data/docs/{PurchaseOrder.md → accounting/PurchaseOrder.md} +3 -3
  88. data/docs/{PurchaseOrders.md → accounting/PurchaseOrders.md} +3 -3
  89. data/docs/{Quote.md → accounting/Quote.md} +10 -6
  90. data/docs/{QuoteLineAmountTypes.md → accounting/QuoteLineAmountTypes.md} +3 -3
  91. data/docs/{QuoteStatusCodes.md → accounting/QuoteStatusCodes.md} +3 -3
  92. data/docs/{Quotes.md → accounting/Quotes.md} +3 -3
  93. data/docs/{Receipt.md → accounting/Receipt.md} +3 -3
  94. data/docs/{Receipts.md → accounting/Receipts.md} +3 -3
  95. data/docs/{RepeatingInvoice.md → accounting/RepeatingInvoice.md} +3 -3
  96. data/docs/{RepeatingInvoices.md → accounting/RepeatingInvoices.md} +3 -3
  97. data/docs/{Report.md → accounting/Report.md} +4 -4
  98. data/docs/{ReportAttribute.md → accounting/ReportAttribute.md} +3 -3
  99. data/docs/{ReportCell.md → accounting/ReportCell.md} +3 -3
  100. data/docs/{ReportFields.md → accounting/ReportFields.md} +3 -3
  101. data/docs/{ReportRow.md → accounting/ReportRow.md} +3 -3
  102. data/docs/{ReportRows.md → accounting/ReportRows.md} +3 -3
  103. data/docs/{ReportWithRow.md → accounting/ReportWithRow.md} +3 -3
  104. data/docs/{ReportWithRows.md → accounting/ReportWithRows.md} +3 -3
  105. data/docs/{Reports.md → accounting/Reports.md} +3 -3
  106. data/docs/{RequestEmpty.md → accounting/RequestEmpty.md} +3 -3
  107. data/docs/{RowType.md → accounting/RowType.md} +3 -3
  108. data/docs/{SalesTrackingCategory.md → accounting/SalesTrackingCategory.md} +3 -3
  109. data/docs/{Schedule.md → accounting/Schedule.md} +3 -3
  110. data/docs/{TaxComponent.md → accounting/TaxComponent.md} +3 -3
  111. data/docs/{TaxRate.md → accounting/TaxRate.md} +3 -3
  112. data/docs/{TaxRates.md → accounting/TaxRates.md} +3 -3
  113. data/docs/{TaxType.md → accounting/TaxType.md} +3 -3
  114. data/docs/{TenNinteyNineContact.md → accounting/TenNinetyNineContact.md} +3 -3
  115. data/docs/{TimeZone.md → accounting/TimeZone.md} +3 -3
  116. data/docs/{TrackingCategories.md → accounting/TrackingCategories.md} +3 -3
  117. data/docs/{TrackingCategory.md → accounting/TrackingCategory.md} +3 -3
  118. data/docs/{TrackingOption.md → accounting/TrackingOption.md} +3 -3
  119. data/docs/{TrackingOptions.md → accounting/TrackingOptions.md} +3 -3
  120. data/docs/{User.md → accounting/User.md} +3 -3
  121. data/docs/{Users.md → accounting/Users.md} +3 -3
  122. data/docs/{ValidationError.md → accounting/ValidationError.md} +3 -3
  123. data/docs/assets/Asset.md +45 -0
  124. data/docs/assets/AssetApi.md +438 -0
  125. data/docs/{CurrencyCode.md → assets/AssetStatus.md} +3 -3
  126. data/docs/assets/AssetStatusQueryParam.md +16 -0
  127. data/docs/assets/AssetType.md +29 -0
  128. data/docs/assets/Assets.md +19 -0
  129. data/docs/assets/BookDepreciationDetail.md +29 -0
  130. data/docs/assets/BookDepreciationSetting.md +31 -0
  131. data/docs/assets/Error.md +25 -0
  132. data/docs/assets/FieldValidationErrorsElement.md +27 -0
  133. data/docs/assets/Pagination.md +23 -0
  134. data/docs/assets/ResourceValidationErrorsElement.md +25 -0
  135. data/docs/assets/Setting.md +31 -0
  136. data/docs/projects/Amount.md +19 -0
  137. data/docs/{AccountType.md → projects/ChargeType.md} +3 -3
  138. data/docs/{CountryCode.md → projects/CurrencyCode.md} +3 -3
  139. data/docs/projects/Error.md +19 -0
  140. data/docs/projects/Pagination.md +23 -0
  141. data/docs/projects/Project.md +59 -0
  142. data/docs/projects/ProjectApi.md +979 -0
  143. data/docs/projects/ProjectCreateOrUpdate.md +23 -0
  144. data/docs/projects/ProjectPatch.md +17 -0
  145. data/docs/{LineAmountTypes.md → projects/ProjectStatus.md} +3 -3
  146. data/docs/projects/ProjectUser.md +21 -0
  147. data/docs/projects/ProjectUsers.md +19 -0
  148. data/docs/projects/Projects.md +19 -0
  149. data/docs/projects/Task.md +45 -0
  150. data/docs/projects/TaskCreateOrUpdate.md +23 -0
  151. data/docs/projects/Tasks.md +19 -0
  152. data/docs/projects/TimeEntries.md +19 -0
  153. data/docs/projects/TimeEntry.md +33 -0
  154. data/docs/projects/TimeEntryCreateOrUpdate.md +25 -0
  155. data/lib/xero-ruby.rb +148 -122
  156. data/lib/xero-ruby/api/accounting_api.rb +166 -29
  157. data/lib/xero-ruby/api/asset_api.rb +452 -0
  158. data/lib/xero-ruby/api/project_api.rb +1035 -0
  159. data/lib/xero-ruby/api_client.rb +237 -74
  160. data/lib/xero-ruby/api_error.rb +2 -2
  161. data/lib/xero-ruby/configuration.rb +35 -25
  162. data/lib/xero-ruby/models/{account.rb → accounting/account.rb} +65 -24
  163. data/lib/xero-ruby/models/{account_type.rb → accounting/account_type.rb} +3 -3
  164. data/lib/xero-ruby/models/{accounts.rb → accounting/accounts.rb} +12 -7
  165. data/lib/xero-ruby/models/{accounts_payable.rb → accounting/accounts_payable.rb} +15 -9
  166. data/lib/xero-ruby/models/{accounts_receivable.rb → accounting/accounts_receivable.rb} +15 -9
  167. data/lib/xero-ruby/models/{address.rb → accounting/address.rb} +23 -16
  168. data/lib/xero-ruby/models/accounting/allocation.rb +295 -0
  169. data/lib/xero-ruby/models/{allocations.rb → accounting/allocations.rb} +12 -7
  170. data/lib/xero-ruby/models/{attachment.rb → accounting/attachment.rb} +16 -12
  171. data/lib/xero-ruby/models/{attachments.rb → accounting/attachments.rb} +12 -7
  172. data/lib/xero-ruby/models/{balances.rb → accounting/balances.rb} +13 -7
  173. data/lib/xero-ruby/models/{bank_transaction.rb → accounting/bank_transaction.rb} +47 -28
  174. data/lib/xero-ruby/models/{bank_transactions.rb → accounting/bank_transactions.rb} +12 -7
  175. data/lib/xero-ruby/models/{bank_transfer.rb → accounting/bank_transfer.rb} +24 -18
  176. data/lib/xero-ruby/models/{bank_transfers.rb → accounting/bank_transfers.rb} +12 -7
  177. data/lib/xero-ruby/models/{batch_payment.rb → accounting/batch_payment.rb} +33 -23
  178. data/lib/xero-ruby/models/{batch_payment_details.rb → accounting/batch_payment_details.rb} +15 -11
  179. data/lib/xero-ruby/models/{batch_payments.rb → accounting/batch_payments.rb} +12 -7
  180. data/lib/xero-ruby/models/{bill.rb → accounting/bill.rb} +12 -7
  181. data/lib/xero-ruby/models/{branding_theme.rb → accounting/branding_theme.rb} +17 -12
  182. data/lib/xero-ruby/models/{branding_themes.rb → accounting/branding_themes.rb} +12 -7
  183. data/lib/xero-ruby/models/{cis_org_setting.rb → accounting/cis_org_setting.rb} +13 -9
  184. data/lib/xero-ruby/models/{cis_setting.rb → accounting/cis_setting.rb} +12 -8
  185. data/lib/xero-ruby/models/{cis_settings.rb → accounting/cis_settings.rb} +12 -7
  186. data/lib/xero-ruby/models/{contact.rb → accounting/contact.rb} +55 -41
  187. data/lib/xero-ruby/models/{contact_group.rb → accounting/contact_group.rb} +16 -10
  188. data/lib/xero-ruby/models/{contact_groups.rb → accounting/contact_groups.rb} +12 -7
  189. data/lib/xero-ruby/models/{contact_person.rb → accounting/contact_person.rb} +14 -10
  190. data/lib/xero-ruby/models/{contacts.rb → accounting/contacts.rb} +12 -7
  191. data/lib/xero-ruby/models/{country_code.rb → accounting/country_code.rb} +3 -3
  192. data/lib/xero-ruby/models/{credit_note.rb → accounting/credit_note.rb} +51 -34
  193. data/lib/xero-ruby/models/{credit_notes.rb → accounting/credit_notes.rb} +12 -7
  194. data/lib/xero-ruby/models/{currencies.rb → accounting/currencies.rb} +12 -7
  195. data/lib/xero-ruby/models/{currency.rb → accounting/currency.rb} +13 -8
  196. data/lib/xero-ruby/models/{currency_code.rb → accounting/currency_code.rb} +5 -5
  197. data/lib/xero-ruby/models/{element.rb → accounting/element.rb} +18 -8
  198. data/lib/xero-ruby/models/{employee.rb → accounting/employee.rb} +21 -12
  199. data/lib/xero-ruby/models/{employees.rb → accounting/employees.rb} +12 -7
  200. data/lib/xero-ruby/models/{error.rb → accounting/error.rb} +14 -10
  201. data/lib/xero-ruby/models/{expense_claim.rb → accounting/expense_claim.rb} +30 -19
  202. data/lib/xero-ruby/models/{expense_claims.rb → accounting/expense_claims.rb} +12 -7
  203. data/lib/xero-ruby/models/{external_link.rb → accounting/external_link.rb} +18 -8
  204. data/lib/xero-ruby/models/{history_record.rb → accounting/history_record.rb} +14 -10
  205. data/lib/xero-ruby/models/{history_records.rb → accounting/history_records.rb} +12 -7
  206. data/lib/xero-ruby/models/{invoice.rb → accounting/invoice.rb} +73 -50
  207. data/lib/xero-ruby/models/{invoice_reminder.rb → accounting/invoice_reminder.rb} +11 -7
  208. data/lib/xero-ruby/models/{invoice_reminders.rb → accounting/invoice_reminders.rb} +12 -7
  209. data/lib/xero-ruby/models/{invoices.rb → accounting/invoices.rb} +12 -7
  210. data/lib/xero-ruby/models/{item.rb → accounting/item.rb} +28 -22
  211. data/lib/xero-ruby/models/{items.rb → accounting/items.rb} +12 -7
  212. data/lib/xero-ruby/models/{journal.rb → accounting/journal.rb} +44 -15
  213. data/lib/xero-ruby/models/{journal_line.rb → accounting/journal_line.rb} +25 -20
  214. data/lib/xero-ruby/models/{journals.rb → accounting/journals.rb} +12 -7
  215. data/lib/xero-ruby/models/{line_amount_types.rb → accounting/line_amount_types.rb} +3 -3
  216. data/lib/xero-ruby/models/{line_item.rb → accounting/line_item.rb} +29 -25
  217. data/lib/xero-ruby/models/{line_item_tracking.rb → accounting/line_item_tracking.rb} +14 -10
  218. data/lib/xero-ruby/models/{linked_transaction.rb → accounting/linked_transaction.rb} +29 -17
  219. data/lib/xero-ruby/models/{linked_transactions.rb → accounting/linked_transactions.rb} +12 -7
  220. data/lib/xero-ruby/models/{manual_journal.rb → accounting/manual_journal.rb} +29 -19
  221. data/lib/xero-ruby/models/{manual_journal_line.rb → accounting/manual_journal_line.rb} +30 -16
  222. data/lib/xero-ruby/models/{manual_journals.rb → accounting/manual_journals.rb} +12 -7
  223. data/lib/xero-ruby/models/{online_invoice.rb → accounting/online_invoice.rb} +11 -7
  224. data/lib/xero-ruby/models/{online_invoices.rb → accounting/online_invoices.rb} +12 -7
  225. data/lib/xero-ruby/models/{organisation.rb → accounting/organisation.rb} +126 -36
  226. data/lib/xero-ruby/models/{organisations.rb → accounting/organisations.rb} +12 -7
  227. data/lib/xero-ruby/models/{overpayment.rb → accounting/overpayment.rb} +40 -27
  228. data/lib/xero-ruby/models/{overpayments.rb → accounting/overpayments.rb} +12 -7
  229. data/lib/xero-ruby/models/{payment.rb → accounting/payment.rb} +61 -28
  230. data/lib/xero-ruby/models/{payment_delete.rb → accounting/payment_delete.rb} +11 -7
  231. data/lib/xero-ruby/models/{payment_service.rb → accounting/payment_service.rb} +16 -12
  232. data/lib/xero-ruby/models/{payment_services.rb → accounting/payment_services.rb} +12 -7
  233. data/lib/xero-ruby/models/{payment_term.rb → accounting/payment_term.rb} +13 -7
  234. data/lib/xero-ruby/models/{payment_term_type.rb → accounting/payment_term_type.rb} +3 -3
  235. data/lib/xero-ruby/models/{payments.rb → accounting/payments.rb} +12 -7
  236. data/lib/xero-ruby/models/{phone.rb → accounting/phone.rb} +20 -10
  237. data/lib/xero-ruby/models/{prepayment.rb → accounting/prepayment.rb} +41 -27
  238. data/lib/xero-ruby/models/{prepayments.rb → accounting/prepayments.rb} +12 -7
  239. data/lib/xero-ruby/models/{purchase.rb → accounting/purchase.rb} +15 -11
  240. data/lib/xero-ruby/models/{purchase_order.rb → accounting/purchase_order.rb} +49 -37
  241. data/lib/xero-ruby/models/{purchase_orders.rb → accounting/purchase_orders.rb} +12 -7
  242. data/lib/xero-ruby/models/{quote.rb → accounting/quote.rb} +63 -33
  243. data/lib/xero-ruby/models/{quote_line_amount_types.rb → accounting/quote_line_amount_types.rb} +3 -3
  244. data/lib/xero-ruby/models/{quote_status_codes.rb → accounting/quote_status_codes.rb} +4 -3
  245. data/lib/xero-ruby/models/{quotes.rb → accounting/quotes.rb} +12 -7
  246. data/lib/xero-ruby/models/{receipt.rb → accounting/receipt.rb} +36 -23
  247. data/lib/xero-ruby/models/{receipts.rb → accounting/receipts.rb} +12 -7
  248. data/lib/xero-ruby/models/{repeating_invoice.rb → accounting/repeating_invoice.rb} +34 -21
  249. data/lib/xero-ruby/models/{repeating_invoices.rb → accounting/repeating_invoices.rb} +12 -7
  250. data/lib/xero-ruby/models/{report.rb → accounting/report.rb} +19 -13
  251. data/lib/xero-ruby/models/{report_attribute.rb → accounting/report_attribute.rb} +13 -7
  252. data/lib/xero-ruby/models/{report_cell.rb → accounting/report_cell.rb} +13 -7
  253. data/lib/xero-ruby/models/{report_fields.rb → accounting/report_fields.rb} +14 -7
  254. data/lib/xero-ruby/models/{report_row.rb → accounting/report_row.rb} +14 -7
  255. data/lib/xero-ruby/models/{report_rows.rb → accounting/report_rows.rb} +15 -7
  256. data/lib/xero-ruby/models/{report_with_row.rb → accounting/report_with_row.rb} +19 -13
  257. data/lib/xero-ruby/models/{report_with_rows.rb → accounting/report_with_rows.rb} +12 -7
  258. data/lib/xero-ruby/models/{reports.rb → accounting/reports.rb} +12 -7
  259. data/lib/xero-ruby/models/{request_empty.rb → accounting/request_empty.rb} +11 -7
  260. data/lib/xero-ruby/models/{row_type.rb → accounting/row_type.rb} +3 -3
  261. data/lib/xero-ruby/models/{sales_tracking_category.rb → accounting/sales_tracking_category.rb} +12 -8
  262. data/lib/xero-ruby/models/{schedule.rb → accounting/schedule.rb} +27 -15
  263. data/lib/xero-ruby/models/{tax_component.rb → accounting/tax_component.rb} +15 -11
  264. data/lib/xero-ruby/models/{tax_rate.rb → accounting/tax_rate.rb} +104 -22
  265. data/lib/xero-ruby/models/{tax_rates.rb → accounting/tax_rates.rb} +12 -7
  266. data/lib/xero-ruby/models/{tax_type.rb → accounting/tax_type.rb} +7 -3
  267. data/lib/xero-ruby/models/{ten_nintey_nine_contact.rb → accounting/ten_ninety_nine_contact.rb} +46 -42
  268. data/lib/xero-ruby/models/{time_zone.rb → accounting/time_zone.rb} +3 -3
  269. data/lib/xero-ruby/models/{tracking_categories.rb → accounting/tracking_categories.rb} +12 -7
  270. data/lib/xero-ruby/models/{tracking_category.rb → accounting/tracking_category.rb} +19 -12
  271. data/lib/xero-ruby/models/{tracking_option.rb → accounting/tracking_option.rb} +17 -10
  272. data/lib/xero-ruby/models/{tracking_options.rb → accounting/tracking_options.rb} +12 -7
  273. data/lib/xero-ruby/models/{user.rb → accounting/user.rb} +24 -13
  274. data/lib/xero-ruby/models/{users.rb → accounting/users.rb} +12 -7
  275. data/lib/xero-ruby/models/{validation_error.rb → accounting/validation_error.rb} +11 -7
  276. data/lib/xero-ruby/models/assets/asset.rb +353 -0
  277. data/lib/xero-ruby/models/assets/asset_status.rb +38 -0
  278. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +38 -0
  279. data/lib/xero-ruby/models/assets/asset_type.rb +278 -0
  280. data/lib/xero-ruby/models/assets/assets.rb +220 -0
  281. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +268 -0
  282. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +347 -0
  283. data/lib/xero-ruby/models/assets/error.rb +252 -0
  284. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +258 -0
  285. data/lib/xero-ruby/models/assets/pagination.rb +238 -0
  286. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +248 -0
  287. data/lib/xero-ruby/models/assets/setting.rb +278 -0
  288. data/lib/xero-ruby/models/projects/amount.rb +218 -0
  289. data/lib/xero-ruby/models/projects/charge_type.rb +38 -0
  290. data/lib/xero-ruby/models/projects/currency_code.rb +199 -0
  291. data/lib/xero-ruby/models/projects/error.rb +218 -0
  292. data/lib/xero-ruby/models/{allocation.rb → projects/pagination.rb} +48 -48
  293. data/lib/xero-ruby/models/projects/project.rb +423 -0
  294. data/lib/xero-ruby/models/projects/project_create_or_update.rb +243 -0
  295. data/lib/xero-ruby/models/projects/project_patch.rb +213 -0
  296. data/lib/xero-ruby/models/projects/project_status.rb +37 -0
  297. data/lib/xero-ruby/models/projects/project_user.rb +228 -0
  298. data/lib/xero-ruby/models/projects/project_users.rb +220 -0
  299. data/lib/xero-ruby/models/projects/projects.rb +220 -0
  300. data/lib/xero-ruby/models/projects/task.rb +385 -0
  301. data/lib/xero-ruby/models/projects/task_create_or_update.rb +253 -0
  302. data/lib/xero-ruby/models/projects/tasks.rb +220 -0
  303. data/lib/xero-ruby/models/projects/time_entries.rb +220 -0
  304. data/lib/xero-ruby/models/projects/time_entry.rb +324 -0
  305. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +268 -0
  306. data/lib/xero-ruby/version.rb +3 -3
  307. data/spec/{api → accounting/api}/accounting_api_spec.rb +31 -6
  308. data/spec/{models → accounting/models}/account_spec.rb +5 -5
  309. data/spec/{models → accounting/models}/account_type_spec.rb +5 -5
  310. data/spec/{models → accounting/models}/accounts_payable_spec.rb +5 -5
  311. data/spec/{models → accounting/models}/accounts_receivable_spec.rb +5 -5
  312. data/spec/{models → accounting/models}/accounts_spec.rb +5 -5
  313. data/spec/{models → accounting/models}/address_spec.rb +5 -5
  314. data/spec/{models → accounting/models}/allocation_spec.rb +5 -5
  315. data/spec/{models → accounting/models}/allocations_spec.rb +5 -5
  316. data/spec/{models → accounting/models}/attachment_spec.rb +5 -5
  317. data/spec/{models → accounting/models}/attachments_spec.rb +5 -5
  318. data/spec/{models → accounting/models}/balances_spec.rb +5 -5
  319. data/spec/{models → accounting/models}/bank_transaction_spec.rb +5 -5
  320. data/spec/{models → accounting/models}/bank_transactions_spec.rb +5 -5
  321. data/spec/{models → accounting/models}/bank_transfer_spec.rb +5 -5
  322. data/spec/{models → accounting/models}/bank_transfers_spec.rb +5 -5
  323. data/spec/{models → accounting/models}/batch_payment_details_spec.rb +5 -5
  324. data/spec/{models → accounting/models}/batch_payment_spec.rb +5 -5
  325. data/spec/{models → accounting/models}/batch_payments_spec.rb +5 -5
  326. data/spec/{models → accounting/models}/bill_spec.rb +5 -5
  327. data/spec/{models → accounting/models}/branding_theme_spec.rb +5 -5
  328. data/spec/{models → accounting/models}/branding_themes_spec.rb +5 -5
  329. data/spec/{models → accounting/models}/cis_org_setting_spec.rb +5 -5
  330. data/spec/{models → accounting/models}/cis_setting_spec.rb +5 -5
  331. data/spec/{models → accounting/models}/cis_settings_spec.rb +5 -5
  332. data/spec/{models → accounting/models}/contact_group_spec.rb +5 -5
  333. data/spec/{models → accounting/models}/contact_groups_spec.rb +5 -5
  334. data/spec/{models → accounting/models}/contact_person_spec.rb +5 -5
  335. data/spec/{models → accounting/models}/contact_spec.rb +5 -5
  336. data/spec/{models → accounting/models}/contacts_spec.rb +5 -5
  337. data/spec/{models → accounting/models}/country_code_spec.rb +5 -5
  338. data/spec/{models → accounting/models}/credit_note_spec.rb +5 -5
  339. data/spec/{models → accounting/models}/credit_notes_spec.rb +5 -5
  340. data/spec/{models → accounting/models}/currencies_spec.rb +5 -5
  341. data/spec/{models → accounting/models}/currency_code_spec.rb +5 -5
  342. data/spec/{models → accounting/models}/currency_spec.rb +5 -5
  343. data/spec/{models → accounting/models}/element_spec.rb +5 -5
  344. data/spec/{models → accounting/models}/employee_spec.rb +5 -5
  345. data/spec/{models → accounting/models}/employees_spec.rb +5 -5
  346. data/spec/{models → accounting/models}/error_spec.rb +5 -5
  347. data/spec/{models → accounting/models}/expense_claim_spec.rb +5 -5
  348. data/spec/{models → accounting/models}/expense_claims_spec.rb +5 -5
  349. data/spec/{models → accounting/models}/external_link_spec.rb +5 -5
  350. data/spec/{models → accounting/models}/history_record_spec.rb +5 -5
  351. data/spec/{models → accounting/models}/history_records_spec.rb +5 -5
  352. data/spec/{models → accounting/models}/invoice_reminder_spec.rb +5 -5
  353. data/spec/{models → accounting/models}/invoice_reminders_spec.rb +5 -5
  354. data/spec/{models → accounting/models}/invoice_spec.rb +5 -5
  355. data/spec/{models → accounting/models}/invoices_spec.rb +5 -5
  356. data/spec/{models → accounting/models}/item_spec.rb +5 -5
  357. data/spec/{models → accounting/models}/items_spec.rb +5 -5
  358. data/spec/{models → accounting/models}/journal_line_spec.rb +5 -5
  359. data/spec/{models → accounting/models}/journal_spec.rb +5 -5
  360. data/spec/{models → accounting/models}/journals_spec.rb +5 -5
  361. data/spec/{models → accounting/models}/line_amount_types_spec.rb +5 -5
  362. data/spec/{models → accounting/models}/line_item_spec.rb +5 -5
  363. data/spec/{models → accounting/models}/line_item_tracking_spec.rb +5 -5
  364. data/spec/{models → accounting/models}/linked_transaction_spec.rb +5 -5
  365. data/spec/{models → accounting/models}/linked_transactions_spec.rb +5 -5
  366. data/spec/{models → accounting/models}/manual_journal_line_spec.rb +5 -5
  367. data/spec/{models → accounting/models}/manual_journal_spec.rb +5 -5
  368. data/spec/{models → accounting/models}/manual_journals_spec.rb +5 -5
  369. data/spec/{models → accounting/models}/online_invoice_spec.rb +5 -5
  370. data/spec/{models → accounting/models}/online_invoices_spec.rb +5 -5
  371. data/spec/{models → accounting/models}/organisation_spec.rb +5 -5
  372. data/spec/{models → accounting/models}/organisations_spec.rb +5 -5
  373. data/spec/{models → accounting/models}/overpayment_spec.rb +5 -5
  374. data/spec/{models → accounting/models}/overpayments_spec.rb +5 -5
  375. data/spec/{models → accounting/models}/payment_delete_spec.rb +5 -5
  376. data/spec/{models → accounting/models}/payment_service_spec.rb +5 -5
  377. data/spec/{models → accounting/models}/payment_services_spec.rb +5 -5
  378. data/spec/{models → accounting/models}/payment_spec.rb +11 -5
  379. data/spec/{models → accounting/models}/payment_term_spec.rb +5 -5
  380. data/spec/{models → accounting/models}/payment_term_type_spec.rb +5 -5
  381. data/spec/{models → accounting/models}/payments_spec.rb +5 -5
  382. data/spec/{models → accounting/models}/phone_spec.rb +5 -5
  383. data/spec/{models → accounting/models}/prepayment_spec.rb +5 -5
  384. data/spec/{models → accounting/models}/prepayments_spec.rb +5 -5
  385. data/spec/{models → accounting/models}/purchase_order_spec.rb +5 -5
  386. data/spec/{models → accounting/models}/purchase_orders_spec.rb +5 -5
  387. data/spec/{models → accounting/models}/purchase_spec.rb +5 -5
  388. data/spec/{models → accounting/models}/quote_line_amount_types_spec.rb +5 -5
  389. data/spec/{models → accounting/models}/quote_spec.rb +5 -5
  390. data/spec/{models → accounting/models}/quote_status_codes_spec.rb +5 -5
  391. data/spec/{models → accounting/models}/quotes_spec.rb +5 -5
  392. data/spec/{models → accounting/models}/receipt_spec.rb +5 -5
  393. data/spec/{models → accounting/models}/receipts_spec.rb +5 -5
  394. data/spec/{models → accounting/models}/repeating_invoice_spec.rb +5 -5
  395. data/spec/{models → accounting/models}/repeating_invoices_spec.rb +5 -5
  396. data/spec/{models → accounting/models}/report_attribute_spec.rb +5 -5
  397. data/spec/{models → accounting/models}/report_cell_spec.rb +5 -5
  398. data/spec/{models → accounting/models}/report_fields_spec.rb +5 -5
  399. data/spec/{models → accounting/models}/report_row_spec.rb +5 -5
  400. data/spec/{models → accounting/models}/report_rows_spec.rb +5 -5
  401. data/spec/{models → accounting/models}/report_spec.rb +5 -5
  402. data/spec/{models → accounting/models}/report_with_row_spec.rb +5 -5
  403. data/spec/{models → accounting/models}/report_with_rows_spec.rb +5 -5
  404. data/spec/{models → accounting/models}/reports_spec.rb +5 -5
  405. data/spec/{models → accounting/models}/request_empty_spec.rb +5 -5
  406. data/spec/{models → accounting/models}/row_type_spec.rb +5 -5
  407. data/spec/{models → accounting/models}/sales_tracking_category_spec.rb +5 -5
  408. data/spec/{models → accounting/models}/schedule_spec.rb +5 -5
  409. data/spec/{models → accounting/models}/tax_component_spec.rb +5 -5
  410. data/spec/{models → accounting/models}/tax_rate_spec.rb +6 -6
  411. data/spec/{models → accounting/models}/tax_rates_spec.rb +5 -5
  412. data/spec/{models → accounting/models}/tax_type_spec.rb +5 -5
  413. data/spec/{models → accounting/models}/ten_nintey_nine_contact_spec.rb +8 -8
  414. data/spec/{models → accounting/models}/time_zone_spec.rb +5 -5
  415. data/spec/{models → accounting/models}/tracking_categories_spec.rb +5 -5
  416. data/spec/{models → accounting/models}/tracking_category_spec.rb +5 -5
  417. data/spec/{models → accounting/models}/tracking_option_spec.rb +5 -5
  418. data/spec/{models → accounting/models}/tracking_options_spec.rb +5 -5
  419. data/spec/{models → accounting/models}/user_spec.rb +5 -5
  420. data/spec/{models → accounting/models}/users_spec.rb +5 -5
  421. data/spec/{models → accounting/models}/validation_error_spec.rb +5 -5
  422. data/spec/api_client_spec.rb +12 -52
  423. data/spec/assets/api/asset_api_spec.rb +116 -0
  424. data/spec/assets/models/asset_spec.rb +125 -0
  425. data/spec/assets/models/asset_status_query_param_spec.rb +35 -0
  426. data/spec/assets/models/asset_status_spec.rb +35 -0
  427. data/spec/assets/models/asset_type_spec.rb +77 -0
  428. data/spec/assets/models/assets_spec.rb +47 -0
  429. data/spec/assets/models/book_depreciation_detail_spec.rb +77 -0
  430. data/spec/assets/models/book_depreciation_setting_spec.rb +95 -0
  431. data/spec/assets/models/error_spec.rb +65 -0
  432. data/spec/assets/models/field_validation_errors_element_spec.rb +71 -0
  433. data/spec/assets/models/pagination_spec.rb +59 -0
  434. data/spec/assets/models/resource_validation_errors_element_spec.rb +65 -0
  435. data/spec/assets/models/setting_spec.rb +83 -0
  436. data/spec/configuration_spec.rb +7 -23
  437. data/spec/projects/api/project_api_spec.rb +229 -0
  438. data/spec/projects/models/amount_spec.rb +47 -0
  439. data/spec/projects/models/charge_type_spec.rb +35 -0
  440. data/spec/projects/models/currency_code_spec.rb +35 -0
  441. data/spec/projects/models/error_spec.rb +47 -0
  442. data/spec/projects/models/pagination_spec.rb +59 -0
  443. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  444. data/spec/projects/models/project_patch_spec.rb +41 -0
  445. data/spec/projects/models/project_spec.rb +167 -0
  446. data/spec/projects/models/project_status_spec.rb +35 -0
  447. data/spec/projects/models/project_user_spec.rb +53 -0
  448. data/spec/projects/models/project_users_spec.rb +47 -0
  449. data/spec/projects/models/projects_spec.rb +47 -0
  450. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  451. data/spec/projects/models/task_spec.rb +129 -0
  452. data/spec/projects/models/tasks_spec.rb +47 -0
  453. data/spec/projects/models/time_entries_spec.rb +47 -0
  454. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  455. data/spec/projects/models/time_entry_spec.rb +93 -0
  456. data/spec/spec_helper.rb +2 -2
  457. data/xero-ruby.gemspec +4 -5
  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
+