diff --git a/app/Console/Commands/OpenApiYaml.php b/app/Console/Commands/OpenApiYaml.php index 530e0da1b7e0..6a63fb565e6b 100644 --- a/app/Console/Commands/OpenApiYaml.php +++ b/app/Console/Commands/OpenApiYaml.php @@ -79,6 +79,7 @@ class OpenApiYaml extends Command Storage::disk('base')->append('/openapi/api-docs.yaml', file_get_contents($path.'/components.yaml')); Storage::disk('base')->append('/openapi/api-docs.yaml', file_get_contents($path.'/components/responses.yaml')); + Storage::disk('base')->append('/openapi/api-docs.yaml', file_get_contents($path.'/components/examples.yaml')); $directory = new DirectoryIterator($path . '/components/responses/'); diff --git a/openapi/api-docs.yaml b/openapi/api-docs.yaml index 0d6a4d73c022..8b97f0483d21 100644 --- a/openapi/api-docs.yaml +++ b/openapi/api-docs.yaml @@ -39,7 +39,7 @@ paths: - $ref: "#/components/parameters/page_meta" responses: 200: - description: "Returns the client object" + description: "Returns the list of activities" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" @@ -49,8 +49,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Client" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Activity' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -266,8 +274,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/BankIntegration" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/BankIntegration' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -670,8 +686,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/BankTransaction" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/BankTransaction' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1015,8 +1039,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/BankTransactionRule" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/BankTransactionRule' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1347,8 +1379,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/ClientGatewayToken" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ClientGatewayToken' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1604,8 +1644,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Company" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Company' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1947,8 +1995,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/CompanyGateway" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CompanyGateway' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2254,8 +2310,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/CompanyLedger" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CompanyLedger' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2358,8 +2422,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Design" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Design' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2666,8 +2738,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Document" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Document' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2751,8 +2831,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/ExpenseCategory" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ExpenseCategory' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -3047,8 +3135,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Expense" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Expense' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -3415,8 +3511,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/GroupSetting" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/GroupSetting' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -3899,8 +4003,8 @@ paths: post: tags: - logout - summary: "Gets a list of logout" - description: "Lists all logout" + summary: "Logs the user out of their current session" + description: "Logs the user out of their current session" operationId: getLogout parameters: - $ref: "#/components/parameters/X-API-TOKEN" @@ -4086,8 +4190,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/PaymentTerm" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/PaymentTerm' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -4520,8 +4632,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/RecurringExpense" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecurringExpense' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -4862,8 +4982,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/RecurringQuote" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecurringQuote' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -5758,8 +5886,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Subscription" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Subscription' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6099,8 +6235,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/SystemLog" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/SystemLog' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6404,8 +6548,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/TaskStatus" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/TaskStatus' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6709,8 +6861,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/TaxRate" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/TaxRate' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -7018,8 +7178,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/CompanyToken" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CompanyToken' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -7318,8 +7486,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/User" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/User' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -7766,8 +7942,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Webhook" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Webhook' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -8098,8 +8282,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Product" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Product' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: '#/components/responses/401' 403: @@ -8503,8 +8695,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Task" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Task' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -8914,8 +9114,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Project" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Project' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -9387,8 +9595,20 @@ paths: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: - schema: - $ref: '#/components/schemas/Client' + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Client' + example: + $ref: '#/components/examples/Client' + meta: + type: object + $ref: '#/components/schemas/Meta' + example: + $ref: '#/components/examples/Meta' 401: $ref: '#/components/responses/401' 403: @@ -9936,8 +10156,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Credit" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Credit' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -10395,8 +10623,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Payment" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Payment' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -10964,8 +11200,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Invoice" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -11593,8 +11837,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/RecurringInvoice" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecurringInvoice' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -12140,8 +12392,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Quote" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Quote' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -12612,8 +12872,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Credit" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/PurchaseOrder' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -12649,7 +12917,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -12695,7 +12963,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -12740,7 +13008,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -12825,7 +13093,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Invoice" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -12863,7 +13131,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -12950,7 +13218,7 @@ paths: example: clone_to_quote responses: 200: - description: "Returns the invoice object" + description: "Returns the purchase order object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" @@ -12961,7 +13229,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Invoice" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -13006,7 +13274,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Vendor" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -13084,8 +13352,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Vendor" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Vendor' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -13459,6 +13735,78 @@ components: in: header name: X-API-TOKEN responses: + examples: + Client: + - id: Opnel5aKBz + user_id: Ua6Rw4pVbS + assigned_user_id: Ua6Rw4pVbS + company_id: Co7Vn3yLmW + name: "Jim's Housekeeping" + website: https://www.jims-housekeeping.com + private_notes: Client prefers email communication over phone calls + client_hash: asdfkjhk342hjhbfdvmnfb1 + industry_id: 5 + size_id: 2 + address1: 123 Main St + address2: Apt 4B + city: Beverly Hills + state: California + postal_code: 90210 + phone: 555-3434-3434 + country_id: 1 + custom_value1: Email + custom_value2: John Doe + custom_value3: Yes + custom_value4: $50,000 + vat_number: VAT123456 + id_number: ID123456 + number: CL-0001 + shipping_address1: 5 Wallaby Way + shipping_address2: Suite 5 + shipping_city: Perth + shipping_state: Western Australia + shipping_postal_code: 6110 + shipping_country_id: 4 + is_deleted: false + balance: 500.00 + paid_to_date: 2000.00 + credit_balance: 100.00 + last_login: 1628686031 + created_at: 1617629031 + updated_at: 1628445631 + group_settings_id: Opnel5aKBz + routing_id: Opnel5aKBz3489-dfkiu-2239-sdsd + is_tax_exempt: false + has_valid_vat_number: false + payment_balance: 100 + contacts: + - id: Opnel5aKBz + first_name: John + last_name: Doe + email: jim@gmail.com + phone: 555-3434-3434 + send_invoice: true + custom_value1: Email + custom_value2: John Doe + custom_value3: Yes + custom_value4: $50,000 + is_primary: true + created_at: 1617629031 + updated_at: 1628445631 + deleted_at: 1628445631 + Meta: + value: + pagination: + total: 1 + count: 1 + per_page: 20 + current_page: 1 + total_pages: 1 + links: + - first: https://invoicing.co/api/v1/invoices?page=1 + - last: https://invoicing.co/api/v1/invoices?page=1 + - prev: null + - next: null 429: description: 'Rate Limit Exceeded' content: @@ -16613,6 +16961,42 @@ components: type: integer example: '1' type: object + Meta: + properties: + pagination: + $ref: '#/components/schemas/Pagination' + Pagination: + type: object + properties: + total: + type: integer + description: 'The total number of items' + example: 1 + readOnly: true + count: + type: integer + description: 'The number of items per page' + example: 1 + readOnly: true + per_page: + type: integer + description: 'The number of items per page' + example: 1 + readOnly: true + current_page: + type: integer + description: 'The current page number' + example: 1 + readOnly: true + total_pages: + type: integer + description: 'The total number of pages' + example: 1 + readOnly: true + links: + type: array + description: 'The pagination links' + readOnly: true FeesAndLimits: properties: @@ -18597,8 +18981,6 @@ components: type: string format: date example: '1994-07-30' - settings: - $ref: '#/components/schemas/CompanySettings' last_viewed: description: Timestamp type: number diff --git a/openapi/components/examples.yaml b/openapi/components/examples.yaml new file mode 100644 index 000000000000..626e4767c105 --- /dev/null +++ b/openapi/components/examples.yaml @@ -0,0 +1,72 @@ + examples: + Client: + - id: Opnel5aKBz + user_id: Ua6Rw4pVbS + assigned_user_id: Ua6Rw4pVbS + company_id: Co7Vn3yLmW + name: "Jim's Housekeeping" + website: https://www.jims-housekeeping.com + private_notes: Client prefers email communication over phone calls + client_hash: asdfkjhk342hjhbfdvmnfb1 + industry_id: 5 + size_id: 2 + address1: 123 Main St + address2: Apt 4B + city: Beverly Hills + state: California + postal_code: 90210 + phone: 555-3434-3434 + country_id: 1 + custom_value1: Email + custom_value2: John Doe + custom_value3: Yes + custom_value4: $50,000 + vat_number: VAT123456 + id_number: ID123456 + number: CL-0001 + shipping_address1: 5 Wallaby Way + shipping_address2: Suite 5 + shipping_city: Perth + shipping_state: Western Australia + shipping_postal_code: 6110 + shipping_country_id: 4 + is_deleted: false + balance: 500.00 + paid_to_date: 2000.00 + credit_balance: 100.00 + last_login: 1628686031 + created_at: 1617629031 + updated_at: 1628445631 + group_settings_id: Opnel5aKBz + routing_id: Opnel5aKBz3489-dfkiu-2239-sdsd + is_tax_exempt: false + has_valid_vat_number: false + payment_balance: 100 + contacts: + - id: Opnel5aKBz + first_name: John + last_name: Doe + email: jim@gmail.com + phone: 555-3434-3434 + send_invoice: true + custom_value1: Email + custom_value2: John Doe + custom_value3: Yes + custom_value4: $50,000 + is_primary: true + created_at: 1617629031 + updated_at: 1628445631 + deleted_at: 1628445631 + Meta: + value: + pagination: + total: 1 + count: 1 + per_page: 20 + current_page: 1 + total_pages: 1 + links: + - first: https://invoicing.co/api/v1/invoices?page=1 + - last: https://invoicing.co/api/v1/invoices?page=1 + - prev: null + - next: null \ No newline at end of file diff --git a/openapi/components/schemas/invoice.yaml b/openapi/components/schemas/invoice.yaml index cbb60434cfc5..8a237d4bd31c 100644 --- a/openapi/components/schemas/invoice.yaml +++ b/openapi/components/schemas/invoice.yaml @@ -168,8 +168,6 @@ type: string format: date example: '1994-07-30' - settings: - $ref: '#/components/schemas/CompanySettings' last_viewed: description: Timestamp type: number diff --git a/openapi/components/schemas/meta.yaml b/openapi/components/schemas/meta.yaml new file mode 100644 index 000000000000..39d6abb99114 --- /dev/null +++ b/openapi/components/schemas/meta.yaml @@ -0,0 +1,36 @@ + Meta: + properties: + pagination: + $ref: '#/components/schemas/Pagination' + Pagination: + type: object + properties: + total: + type: integer + description: 'The total number of items' + example: 1 + readOnly: true + count: + type: integer + description: 'The number of items per page' + example: 1 + readOnly: true + per_page: + type: integer + description: 'The number of items per page' + example: 1 + readOnly: true + current_page: + type: integer + description: 'The current page number' + example: 1 + readOnly: true + total_pages: + type: integer + description: 'The total number of pages' + example: 1 + readOnly: true + links: + type: array + description: 'The pagination links' + readOnly: true \ No newline at end of file diff --git a/openapi/paths.yaml b/openapi/paths.yaml index f33e29e006a1..2e3e7fec4c8a 100644 --- a/openapi/paths.yaml +++ b/openapi/paths.yaml @@ -15,7 +15,7 @@ paths: - $ref: "#/components/parameters/page_meta" responses: 200: - description: "Returns the client object" + description: "Returns the list of activities" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" @@ -25,8 +25,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Client" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Activity' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -242,8 +250,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/BankIntegration" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/BankIntegration' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -646,8 +662,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/BankTransaction" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/BankTransaction' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -991,8 +1015,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/BankTransactionRule" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/BankTransactionRule' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1323,8 +1355,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/ClientGatewayToken" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ClientGatewayToken' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1580,8 +1620,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Company" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Company' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -1923,8 +1971,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/CompanyGateway" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CompanyGateway' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2230,8 +2286,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/CompanyLedger" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CompanyLedger' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2334,8 +2398,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Design" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Design' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2642,8 +2714,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Document" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Document' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -2727,8 +2807,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/ExpenseCategory" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ExpenseCategory' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -3023,8 +3111,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Expense" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Expense' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -3391,8 +3487,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/GroupSetting" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/GroupSetting' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -3875,8 +3979,8 @@ paths: post: tags: - logout - summary: "Gets a list of logout" - description: "Lists all logout" + summary: "Logs the user out of their current session" + description: "Logs the user out of their current session" operationId: getLogout parameters: - $ref: "#/components/parameters/X-API-TOKEN" @@ -4062,8 +4166,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/PaymentTerm" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/PaymentTerm' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -4496,8 +4608,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/RecurringExpense" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecurringExpense' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -4838,8 +4958,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/RecurringQuote" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecurringQuote' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -5734,8 +5862,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Subscription" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Subscription' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6075,8 +6211,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/SystemLog" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/SystemLog' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6380,8 +6524,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/TaskStatus" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/TaskStatus' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6685,8 +6837,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/TaxRate" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/TaxRate' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -6994,8 +7154,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/CompanyToken" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CompanyToken' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -7294,8 +7462,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/User" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/User' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -7742,8 +7918,16 @@ paths: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Webhook" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Webhook' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/clients.yaml b/openapi/paths/clients.yaml index 7194f8981bc5..90b9afd093aa 100644 --- a/openapi/paths/clients.yaml +++ b/openapi/paths/clients.yaml @@ -117,8 +117,20 @@ $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: - schema: - $ref: '#/components/schemas/Client' + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Client' + example: + $ref: '#/components/examples/Client' + meta: + type: object + $ref: '#/components/schemas/Meta' + example: + $ref: '#/components/examples/Meta' 401: $ref: '#/components/responses/401' 403: diff --git a/openapi/paths/credits.yaml b/openapi/paths/credits.yaml index 1317a8e24e95..d98dea8555fa 100644 --- a/openapi/paths/credits.yaml +++ b/openapi/paths/credits.yaml @@ -21,8 +21,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Credit" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Credit' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/invoices.yaml b/openapi/paths/invoices.yaml index 13e473c47fda..ed25012fecda 100644 --- a/openapi/paths/invoices.yaml +++ b/openapi/paths/invoices.yaml @@ -106,8 +106,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Invoice" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/payments.yaml b/openapi/paths/payments.yaml index 1d299f8713d9..cb4a4bf87ab7 100644 --- a/openapi/paths/payments.yaml +++ b/openapi/paths/payments.yaml @@ -57,8 +57,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Payment" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Payment' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/products.yaml b/openapi/paths/products.yaml index c107ee6cf44a..dfcc3ad6db63 100644 --- a/openapi/paths/products.yaml +++ b/openapi/paths/products.yaml @@ -52,8 +52,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Product" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Product' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: '#/components/responses/401' 403: diff --git a/openapi/paths/projects.yaml b/openapi/paths/projects.yaml index c66fa13087c3..104e66c088ce 100644 --- a/openapi/paths/projects.yaml +++ b/openapi/paths/projects.yaml @@ -22,8 +22,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Project" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Project' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/purchase_orders.yaml b/openapi/paths/purchase_orders.yaml index fcf63f0f8639..dcdd3173c7c7 100644 --- a/openapi/paths/purchase_orders.yaml +++ b/openapi/paths/purchase_orders.yaml @@ -21,8 +21,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Credit" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/PurchaseOrder' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: @@ -58,7 +66,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -104,7 +112,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -149,7 +157,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -234,7 +242,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Invoice" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -272,7 +280,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Credit" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -359,7 +367,7 @@ example: clone_to_quote responses: 200: - description: "Returns the invoice object" + description: "Returns the purchase order object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" @@ -370,7 +378,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Invoice" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: @@ -415,7 +423,7 @@ content: application/json: schema: - $ref: "#/components/schemas/Vendor" + $ref: "#/components/schemas/PurchaseOrder" 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/quotes.yaml b/openapi/paths/quotes.yaml index 0ef3adb53d4a..dfabf6442dfe 100644 --- a/openapi/paths/quotes.yaml +++ b/openapi/paths/quotes.yaml @@ -70,8 +70,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Quote" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Quote' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/recurring_invoices.yaml b/openapi/paths/recurring_invoices.yaml index 1ffb5616a101..47560656b0ac 100644 --- a/openapi/paths/recurring_invoices.yaml +++ b/openapi/paths/recurring_invoices.yaml @@ -60,8 +60,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/RecurringInvoice" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/RecurringInvoice' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/tasks.yaml b/openapi/paths/tasks.yaml index 26e36d87051c..b392d84f9eb0 100644 --- a/openapi/paths/tasks.yaml +++ b/openapi/paths/tasks.yaml @@ -22,8 +22,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Task" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Task' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: diff --git a/openapi/paths/vendors.yaml b/openapi/paths/vendors.yaml index 3a97f0bfdcc5..267221cf5200 100644 --- a/openapi/paths/vendors.yaml +++ b/openapi/paths/vendors.yaml @@ -22,8 +22,16 @@ $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: - schema: - $ref: "#/components/schemas/Vendor" + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Vendor' + meta: + type: object + $ref: '#/components/schemas/Meta' 401: $ref: "#/components/responses/401" 403: