/api/v1/quotes: get: tags: - quotes summary: "List quotes" description: "Lists quotes, search and filters allow fine grained lists to be generated.\n *\n * Query parameters can be added to performed more fine grained filtering of the quotes, these are handled by the QuoteFilters class which defines the methods available" operationId: getQuotes parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - $ref: "#/components/parameters/status" - $ref: "#/components/parameters/client_id" - $ref: "#/components/parameters/created_at" - $ref: "#/components/parameters/updated_at" - $ref: "#/components/parameters/is_deleted" - $ref: "#/components/parameters/filter_deleted_clients" - $ref: "#/components/parameters/vendor_id" - name: filter in: query description: | Searches across a range of columns including: - number - custom_value1 - custom_value2 - custom_value3 - custom_value4 required: false schema: type: string example: ?filter=bob - name: client_status in: query description: | A comma separated list of quote status strings. Valid options include: - all - draft - sent - approved - expired - upcoming required: false schema: type: string example: ?client_status=paid,unpaid - name: number in: query description: | Search quote by quote number required: false schema: type: string example: ?number=Q-001 - name: sort in: query description: Returns the list sorted by column in ascending or descending order. required: false schema: type: string example: id|desc number|desc balance|asc responses: 200: description: "A list of quotes" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: 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: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" post: tags: - quotes summary: "Create quote" description: "Adds an Quote to the system" operationId: storeQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" responses: 200: description: "Returns the saved Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" "/api/v1/quotes/{id}": get: tags: - quotes summary: "Show quote" description: "Displays an Quote by id" operationId: showQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: id in: path description: "The Quote Hashed ID" required: true schema: type: string format: string example: D2J234DFA responses: 200: description: "Returns the Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" put: tags: - quotes summary: "Update quote" description: "Handles the updating of an Quote by id" operationId: updateQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: id in: path description: "The Quote Hashed ID" required: true schema: type: string format: string example: D2J234DFA responses: 200: description: "Returns the Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" delete: tags: - quotes summary: "Delete quote" description: "Handles the deletion of an Quote by id" operationId: deleteQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: id in: path description: "The Quote Hashed ID" required: true schema: type: string format: string example: D2J234DFA responses: 200: description: "Returns a HTTP status" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" "/api/v1/quotes/{id}/edit": get: tags: - quotes summary: "Edit quote" description: "Displays an Quote by id" operationId: editQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: id in: path description: "The Quote Hashed ID" required: true schema: type: string format: string example: D2J234DFA responses: 200: description: "Returns the Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" /api/v1/quotes/create: get: tags: - quotes summary: "Blank quote" description: "Returns a blank object with default values" operationId: getQuotesCreate parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" responses: 200: description: "A blank Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" /api/v1/quotes/bulk: post: tags: - quotes summary: "Bulk quote actions" description: "" operationId: bulkQuotes parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/index" requestBody: description: "Hashed ids" required: true content: application/json: schema: type: array items: description: "Array of hashed IDs to be bulk 'actioned" type: integer example: "[0,1,2,3]" responses: 200: description: "The Quote response" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" "/api/v1/quotes/{id}/{action}": get: deprecated: true tags: - quotes summary: "Performs a custom action on an Quote" description: "Performs a custom action on an Quote.\n\n The current range of actions are as follows\n - clone_to_quote\n - history\n - delivery_note\n - mark_paid\n - download\n - archive\n - delete\n - convert\n - convert_to_invoice\n - email" operationId: actionQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: id in: path description: "The Quote Hashed ID" required: true schema: type: string format: string example: D2J234DFA - name: action in: path description: "The action string to be performed" required: true schema: type: string format: string example: clone_to_quote responses: 200: description: "Returns the Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" "/api/v1/quote/{invitation_key}/download": get: tags: - quotes summary: "Download quote PDF" description: "Downloads a specific quote" operationId: downloadQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: invitation_key in: path description: "The Quote Invitation Key" required: true schema: type: string format: string example: D2J234DFA responses: 200: description: "Returns the quote pdf" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default" "/api/v1/quotes/{id}/upload": post: tags: - quotes summary: "Upload a quote document" description: "Handles the uploading of a document to a quote" operationId: uploadQuote parameters: - $ref: "#/components/parameters/X-API-TOKEN" - $ref: "#/components/parameters/X-Requested-With" - $ref: "#/components/parameters/include" - name: id in: path description: "The Quote Hashed ID" required: true schema: type: string format: string example: D2J234DFA requestBody: description: "File Upload Body" required: true content: multipart/form-data: schema: type: object properties: _method: type: string example: PUT documents: type: array items: description: "Array of binary documents for upload" type: string format: binary responses: 200: description: "Returns the Quote object" headers: X-MINIMUM-CLIENT-VERSION: $ref: "#/components/headers/X-MINIMUM-CLIENT-VERSION" X-RateLimit-Remaining: $ref: "#/components/headers/X-RateLimit-Remaining" X-RateLimit-Limit: $ref: "#/components/headers/X-RateLimit-Limit" content: application/json: schema: $ref: "#/components/schemas/Quote" 401: $ref: "#/components/responses/401" 403: $ref: "#/components/responses/403" 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: "#/components/responses/default"