paths:
    /carts:
        post:
            tags:
                - Carts
            summary: ''
            description: "\n\t                \t\n{\n   \"attributes\":{\n      \"first\":1,\n      \"second\":5\n   },\n   \"coupon\":\"\",\n   \"language\":\"english\",\n   \"shipping_country\":\"be\",\n   \"url\":\"http://www.origin.com/cart\",\n   \"items\":[\n      {\n         \"product_id\":1,\n         \"quantity\":5,\n         \"attributes\":{\n            \"first\":1,\n            \"second\":5\n         }\n      }\n   ]\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: carts_create
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                201:
                    description: 'cart created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
    '/carts/{id}':
        get:
            tags:
                - Carts
            summary: ''
            description: ''
            operationId: carts_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the cart'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'cart detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Carts
            summary: ''
            description: "\n\t                \t\n{\n   \"attributes\":{\n      \"first\":1,\n      \"second\":5\n   },\n   \"coupon\":\"\",\n   \"language\":\"english\",\n   \"shipping_country\":\"be\",\n   \"url\":\"http://www.origin.com/cart\",\n   \"items\":[\n      {\n         \"product_id\":1,\n         \"quantity\":5,\n         \"attributes\":{\n            \"first\":1,\n            \"second\":5\n         }\n      }\n   ]\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: carts_update
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the cart'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'cart detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /categories:
        post:
            tags:
                - Categories
            summary: ''
            description: "\n\t                \t\n{\n   \"name\":\"a sample product\",\n   \"parent_id\":0\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: categories_create
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                201:
                    description: 'categorie created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
        get:
            tags:
                - Categories
            summary: ''
            description: ''
            operationId: categories_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'id of the category'
                    required: false
                    type: string
                -
                    name: parent_id
                    in: query
                    description: 'id of the parent category'
                    required: false
                    type: string
                -
                    name: nicename
                    in: query
                    description: 'nicename(slug) of the category'
                    required: false
                    type: string
            responses:
                200:
                    description: 'categorie detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/categories/{id}':
        get:
            tags:
                - Categories
            summary: ''
            description: ''
            operationId: categories_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the category'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'category detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Categories
            summary: ''
            description: "\n\t                \t\n{\n   \"name\":\"a sample product\",\n   \"parent_id\":0\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: categories_update
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the category'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'categorie detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            tags:
                - Categories
            summary: ''
            description: ''
            operationId: categories_delete
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the categorie'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'categorie deleted'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
                500:
                    description: 'Server Error'
                    schema:
                        $ref: '#/definitions/Error'
    /countries:
        get:
            tags:
                - Countries
            summary: ''
            description: ''
            operationId: countries_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: iso
                    in: query
                    description: 'Parameter iso'
                    required: false
                    type: string
                -
                    name: type
                    in: query
                    description: 'Parameter type This can have the value "shipping"'
                    required: false
                    type: string
            responses:
                200:
                    description: 'country detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /coupons:
        get:
            tags:
                - Coupons
            summary: ''
            description: ''
            operationId: coupons_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results. id:asc,id:desc,code:asc,code:desc'
                    required: false
                    type: string
                -
                    name: code
                    in: query
                    description: 'code of the coupon'
                    required: false
                    type: string
            responses:
                200:
                    description: 'coupon detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /customers:
        get:
            tags:
                - Customers
            summary: ''
            description: ''
            operationId: customers_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'id of the customer'
                    required: false
                    type: string
            responses:
                200:
                    description: 'customer detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/customers/{id}':
        get:
            tags:
                - Customers
            summary: ''
            description: ''
            operationId: customers_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the customer'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'customer detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /customfieldgroups:
        get:
            tags:
                - Customfieldgroups
            summary: ''
            description: ''
            operationId: customfieldgroups_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'The id of the customfield group'
                    required: false
                    type: string
                -
                    name: name
                    in: query
                    description: 'The name of the customfield group'
                    required: false
                    type: string
                -
                    name: type
                    in: query
                    description: 'The type of customfield groups. Can be either "product" or "content"'
                    required: false
                    type: string
            responses:
                200:
                    description: 'customfieldgroup detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /orders:
        get:
            tags:
                - Orders
            summary: ''
            description: ''
            operationId: orders_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'id of the order'
                    required: false
                    type: string
                -
                    name: guid
                    in: query
                    description: 'guid of the order'
                    required: false
                    type: string
                -
                    name: status
                    in: query
                    description: 'status of the order'
                    required: false
                    type: string
                -
                    name: date_from
                    in: query
                    description: 'all orders starting from a specific date'
                    required: false
                    type: string
                -
                    name: items.item.product_id
                    in: query
                    description: 'All orders for a specific product_id'
                    required: false
                    type: string
            responses:
                200:
                    description: 'order detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/orders/{id}':
        get:
            tags:
                - Orders
            summary: ''
            description: ''
            operationId: orders_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the order'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'order detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /pages:
        post:
            tags:
                - Pages
            summary: ''
            description: "\n\t                \t\n{\n    \"name\": \"a page name\",\n    \"content\": \"the html content of the page\",\n    \"active\": 1\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: pages_create
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                201:
                    description: 'page created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
        get:
            tags:
                - Pages
            summary: ''
            description: ''
            operationId: pages_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'Parameter id.'
                    required: false
                    type: string
                -
                    name: nicename
                    in: query
                    description: 'Parameter nicename.'
                    required: false
                    type: string
                -
                    name: active
                    in: query
                    description: 'Parameter active.'
                    required: false
                    type: boolean
                -
                    name: pagination
                    in: query
                    description: 'Parameter pagination. true/false'
                    required: false
                    type: string
                -
                    name: page
                    in: query
                    description: 'Parameter page. integer'
                    required: false
                    type: string
            responses:
                200:
                    description: 'page detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/pages/{id}':
        get:
            tags:
                - Pages
            summary: ''
            description: ''
            operationId: pages_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the page'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'page detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Pages
            summary: ''
            description: "\n\t                \t\n{\n    \"name\": \"a page name\",\n    \"content\": \"the html content of the page\",\n    \"active\": 1\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: pages_put
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the page'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'page detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            tags:
                - Pages
            summary: ''
            description: ''
            operationId: pages_delete
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the page'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'page deleted'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
                500:
                    description: 'Server Error'
                    schema:
                        $ref: '#/definitions/Error'
    '/paymentmethods/key/{key}':
        get:
            tags:
                - PaymentMethods
            summary: ''
            description: ''
            operationId: paymentmethods_getbykey
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: key
                    in: path
                    description: 'key of the payment method'
                    required: true
                    type: string
            responses:
                200:
                    description: 'paymentmethod detail'
                    schema:
                        type: object
                        properties:
                            success:
                                type: boolean
                            data:
                                type: object
                                $ref: '#/definitions/PaymentMethod'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
    /paymentproviders:
        get:
            tags:
                - Paymentproviders
            summary: ''
            description: ''
            operationId: paymentproviders_list
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                200:
                    description: 'paymentproviders list'
                    schema:
                        type: object
                        properties:
                            success:
                                type: boolean
                            data:
                                type: object
                                $ref: '#/definitions/PaymentProvider'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
    /products:
        post:
            tags:
                - Products
            summary: ''
            description: "\n\t                \t\n{\n   \"name\":\"a product name\",\n   \"description\":\"the description of the product\",\n   \"price\":\"100\",\n   \"categories\":[\n      1\n   ],\n   \"active\":1,\n   \"reference\":\"refid\",\n   \"weight\":\"12.34\",\n   \"tags\":\"a,b,c\",\n   \"taxgroup_id\":\"1\",\n   \"charge_shipping\":1,\n   \"use_in_shipping_calculation\":1,\n   \"track_stock\":1,\n   \"stock\":1,\n   \"always_available\":1\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: products_create
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                201:
                    description: 'product created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
        get:
            tags:
                - Products
            summary: ''
            description: ''
            operationId: products_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'Parameter id.'
                    required: false
                    type: string
                -
                    name: nicename
                    in: query
                    description: 'Parameter nicename.'
                    required: false
                    type: string
                -
                    name: active
                    in: query
                    description: 'Parameter active.'
                    required: false
                    type: boolean
                -
                    name: cat
                    in: query
                    description: 'Parameter cat.'
                    required: false
                    type: string
                -
                    name: tag
                    in: query
                    description: 'Parameter tag.'
                    required: false
                    type: string
                -
                    name: search
                    in: query
                    description: 'Parameter search.'
                    required: false
                    type: string
                -
                    name: reference
                    in: query
                    description: 'Parameter reference. Case insensitive'
                    required: false
                    type: string
                -
                    name: custom_fields.CUSTOMFIELDGROUPKEY.CUSTOMFIELDKEY.value
                    in: query
                    description: 'Custom field value'
                    required: false
                    type: string
                -
                    name: pagination
                    in: query
                    description: 'Parameter pagination. true/false'
                    required: false
                    type: string
                -
                    name: page
                    in: query
                    description: 'Parameter page. integer'
                    required: false
                    type: string
            responses:
                200:
                    description: 'product detail'
                    schema:
                        $ref: '#/definitions/Product'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/products/{id}':
        get:
            tags:
                - Products
            summary: ''
            description: ''
            operationId: products_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the product'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'product detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Products
            summary: ''
            description: "\n\t                \t\n{\n   \"name\":\"a product name\",\n   \"description\":\"the description of the product\",\n   \"price\":\"100\",\n   \"categories\":[\n      1\n   ],\n   \"active\":1,\n   \"reference\":\"refid\",\n   \"weight\":\"12.34\",\n   \"tags\":\"a,b,c\",\n   \"taxgroup_id\":\"1\",\n   \"charge_shipping\":1,\n   \"use_in_shipping_calculation\":1,\n   \"track_stock\":1,\n   \"stock\":1,\n   \"always_available\":1\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: products_update
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the product'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'product detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            tags:
                - Products
            summary: ''
            description: ''
            operationId: products_delete
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the product'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'product deleted'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
                500:
                    description: 'Server Error'
                    schema:
                        $ref: '#/definitions/Error'
    /shipping:
        get:
            tags:
                - Shipping
            summary: ''
            description: ''
            operationId: shipping_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'Parameter id.'
                    required: false
                    type: string
                -
                    name: country
                    in: query
                    description: 'Parameter country.'
                    required: false
                    type: string
            responses:
                200:
                    description: 'shipping detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/shops/{guid}':
        get:
            tags:
                - Shops
            summary: ''
            description: ''
            operationId: shops_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: guid
                    in: path
                    description: 'the guid of the shop. You can also pass a "self" string to get your own shop'
                    required: true
                    type: string
            responses:
                200:
                    description: 'shop detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /taxes:
        get:
            tags:
                - Taxes
            summary: ''
            description: ''
            operationId: taxes_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'Parameter id.'
                    required: false
                    type: string
                -
                    name: country
                    in: query
                    description: 'Parameter country.'
                    required: false
                    type: string
                -
                    name: region
                    in: query
                    description: 'Parameter "region".'
                    required: false
                    type: string
                -
                    name: taxgroup_id
                    in: query
                    description: 'Parameter taxgroup_id.'
                    required: false
                    type: string
            responses:
                200:
                    description: 'taxe detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /themes:
        post:
            tags:
                - Themes
            summary: ''
            description: ''
            operationId: themes_createFromArchive
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                201:
                    description: 'theme created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
        get:
            tags:
                - Themes
            summary: ''
            description: ''
            operationId: themes_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: query
                    description: 'Parameter id.'
                    required: false
                    type: string
            responses:
                200:
                    description: 'theme detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/themes/{id}':
        get:
            tags:
                - Themes
            summary: ''
            description: ''
            operationId: themes_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the theme'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'theme detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Themes
            summary: ''
            description: "\n\t                \t\n{\nXXX\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: themes_put
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the theme'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'theme detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            tags:
                - Themes
            summary: ''
            description: ''
            operationId: themes_delete
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the theme'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'theme deleted'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
                500:
                    description: 'Server Error'
                    schema:
                        $ref: '#/definitions/Error'
    /users:
        get:
            tags:
                - Users
            summary: ''
            description: ''
            operationId: users_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: query
                    description: 'id of the user'
                    required: false
                    type: string
                -
                    name: username
                    in: query
                    description: 'username of the user'
                    required: false
                    type: string
            responses:
                200:
                    description: 'user detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    /users/self:
        get:
            tags:
                - Users
            summary: ''
            description: ''
            operationId: users_get_self
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                200:
                    description: 'user detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/users/{id}':
        get:
            tags:
                - Users
            summary: ''
            description: ''
            operationId: users_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the user'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'user detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Users
            summary: ''
            description: "\n\t                \t\n{\n\t\"password:\"abc\"\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: users_put
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the user'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'user detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/users/{id}/resetpassword':
        post:
            tags:
                - Users
            summary: ''
            description: "\n\t                \t\n{\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: users_post_resetpassword
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the user'
                    required: true
                    type: integer
            responses:
                201:
                    description: 'user created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
    /webhooks:
        post:
            tags:
                - Webhooks
            summary: ''
            description: "\n\t                \t\n{\n    \"endpoint\": \"http://www.domain.com/webhookhandler\",\n    \"type\": \"uri\",\n    \"events\": [\n        \"product/created\",\n        \"product/saved\"\n    ]\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: webhooks_create
            consumes:
                - application/json
            produces:
                - application/json
            responses:
                201:
                    description: 'webhook created'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
        get:
            tags:
                - Webhooks
            summary: ''
            description: ''
            operationId: webhooks_list
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: count
                    in: query
                    description: 'number of results to return'
                    required: false
                    type: string
                -
                    name: order
                    in: query
                    description: 'the order of the results'
                    required: false
                    type: string
                -
                    name: id
                    in: query
                    description: 'Parameter id.'
                    required: false
                    type: string
                -
                    name: pagination
                    in: query
                    description: 'whether pagination should be used'
                    required: false
                    type: string
            responses:
                200:
                    description: 'webhook detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
    '/webhooks/{id}':
        get:
            tags:
                - Webhooks
            summary: ''
            description: ''
            operationId: webhooks_get
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the webhook'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'webhook detail'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        put:
            tags:
                - Webhooks
            summary: ''
            description: "\n\t                \t\n{\n    \"endpoint\": \"http://www.domain.com/webhookhandler\",\n    \"type\": \"uri\",\n    \"events\": [\n        \"product/created\",\n        \"product/saved\"\n    ]\n}\n\t\t\t\t\t\t\n\t\t\t\t\t"
            operationId: webhooks_put
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the webhook'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'webhook detail'
                400:
                    description: 'Bad Request'
                    schema:
                        $ref: '#/definitions/Error'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
        delete:
            tags:
                - Webhooks
            summary: ''
            description: ''
            operationId: webhooks_delete
            consumes:
                - application/json
            produces:
                - application/json
            parameters:
                -
                    name: id
                    in: path
                    description: 'the id of the webhook'
                    required: true
                    type: integer
            responses:
                200:
                    description: 'webhook deleted'
                401:
                    description: 'Not Unauthorized'
                    schema:
                        $ref: '#/definitions/Error'
                403:
                    description: Forbidden
                    schema:
                        $ref: '#/definitions/Error'
                404:
                    description: 'Not Found'
                    schema:
                        $ref: '#/definitions/Error'
                500:
                    description: 'Server Error'
                    schema:
                        $ref: '#/definitions/Error'
swagger: '2.0'
info:
    version: '1'
    title: 'SolidShops API'
    description: ''
    license:
        name: MIT
        url: 'http://github.com/gruntjs/grunt/blob/master/LICENSE-MIT'
host: api.solidshops.com
basePath: /v1
securityDefinitions:
    shopBasicAuth:
        type: basic
        description: 'HTTP Basic Authentication.'
    shopOauth2:
        type: oauth2
        flow: accessCode
        authorizationUrl: 'https://oauth.simple.api/authorization'
        tokenUrl: 'https://oauth.simple.api/token'
security:
    -
        shopBasicAuth: []
    -
        shopOauth2: []
schemes:
    - https
consumes:
    - application/json
produces:
    - application/json
definitions:
    Cart:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of the cart'
            items_quantity:
                type: integer
                format: int64
                description: 'the total number of items in your cart'
            items_price_total:
                type: number
                format: double
                description: 'the sum of all (product.price * quantity). This amount can be incl or excl tax depending on your tax_setting'
            tax_setting:
                type: string
                description: '"incl" or "excl" depending on your shop settings'
            items_tax:
                type: number
                format: double
                description: 'total taxes for the items in your cart'
            items_total:
                type: number
                format: double
                description: 'total cost for all items in the cart, including taxes'
            shipping_country:
                type: string
                description: 'the country to order will be shipped to'
            shipping_cost:
                type: string
                description: 'shipping cost for the items in your cart, not including taxes on shipping (if set)'
            shipping_tax:
                type: number
                format: double
                description: 'taxes charged on shipping costs (if set)'
            shipping_total:
                type: number
                format: double
                description: 'total shipping cost for the items in your cart, including taxes'
            discount:
                type: number
                format: double
                description: 'the total discount excluding taxes'
            tax:
                type: number
                format: double
                description: 'the total tax of the cart'
            total:
                type: number
                format: double
                description: 'grand total of your shopping cart, including taxes, discount and total shipping cost'
            url:
                type: string
                description: 'the url to the cart'
            language:
                type: string
                description: 'the language used in the store and checkout page'
            coupon:
                type: object
                properties:
                    code:
                        type: string
                        description: 'the used coupon'
                    type:
                        type: string
                        description: 'the type of the coupon("cart_total" or "shipping")'
                    discount:
                        type: string
                        description: 'the discount amount. This amount is excluding tax in case of shipping and includes tax in case it was deducted from the cart total. The attribute cart.discount is always without tax.'
            attributes:
                type: object
                description: 'a list of key/value attributes e.g. "note"'
            items:
                type: array
                description: 'a loopable collection of all items in the order'
                items:
                    $ref: '#/definitions/CartItem'
    CartItem:
        type: object
        properties:
            id:
                type: integer
                description: 'the id of the item in the basket'
            product_id:
                type: integer
                description: 'the id of the product'
            reference:
                type: integer
                description: 'the reference of the product'
            name:
                type: integer
                description: 'name of the item'
            price:
                type: integer
                description: 'item price (including/excluding tax depending on your settings)'
            charge_shipping:
                type: integer
                description: '0 or 1 depending on your product settings'
            quantity:
                type: integer
                description: 'quantity added to basket for the current item'
            price_total:
                type: integer
                description: 'item.price * item.quantity. This value can be incl or excl taxes depending on your tax_setting'
            track_stock:
                type: boolean
                description: 'returns true if you have enabled stock tracking,false if you have disabled stock tracking'
            always_available:
                type: boolean
                description: 'returns true if you have indicated that users can buy this product when it''s out of stock, otherwise false Also returns true if you are not tracking stock'
            stock:
                type: integer
                description: 'the actual stock count for this product, empty if stock tracking is disabled'
            url:
                type: string
                description: 'the url to your product'
            thumbnail:
                type: string
                description: 'the thumbnail of your items first image'
            tax_percentage:
                type: number
                format: double
                description: 'tax percentage linked to this item'
            tax:
                type: number
                format: double
                description: taxes
            tax_setting:
                type: string
                description: '"incl" or "excl" depending on your store settings'
            total:
                type: number
                format: double
                description: 'total cost for this item, including taxes'
            variants:
                type: object
                description: 'a loopable collection of all variants that are linked to a product'
                properties:
                    name:
                        type: string
                        description: 'name of the variant e.g. "Size"'
                    value:
                        type: string
                        description: 'selected value for the variant e.g. "XX-Large"'
            attributes:
                type: object
                description: 'a list of key/value attributes e.g. "note"'
    Category:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of the category'
            parent_id:
                type: integer
                format: int64
                description: 'the id of the higher category'
            name:
                type: string
                description: 'the name of your category'
            nicename:
                type: string
                description: 'the url friendly nicename of the category'
            url:
                type: string
                description: "the url to point to the detail page of this one category (system\ttemplate \"category\")"
            subcategories:
                type: array
                description: 'a loopable collection of "category" objects'
                items:
                    $ref: '#/definitions/CategorySub'
    CategorySub:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of the category'
            parent_id:
                type: integer
                format: int64
                description: 'the id of the higher category'
            name:
                type: string
                description: 'the name of your category'
            nicename:
                type: string
                description: 'the url friendly nicename of the category'
            url:
                type: string
                description: "the url to point to the detail page of this one category (system\ttemplate \"category\")"
            subcategories:
                type: array
                description: 'a loopable collection of "category" objects'
                items:
                    $ref: '#/definitions/CategorySubSub'
    CategorySubSub:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of the category'
            parent_id:
                type: integer
                format: int64
                description: 'the id of the higher category'
            name:
                type: string
                description: 'the name of your category'
            nicename:
                type: string
                description: 'the url friendly nicename of the category'
            url:
                type: string
                description: "the url to point to the detail page of this one category (system\ttemplate \"category\")"
    Customfieldgroup:
        type: object
        properties:
            id:
                type: integer
                description: 'The id of the customfieldgroup'
            name:
                type: string
                description: 'The name of the customfieldgroup'
            type:
                type: string
                description: 'The type of the customfieldgroup. "product" or "content".'
            fields:
                type: object
                description: 'an object with name name of the customfieldgroup as key and the fieldObject as value'
                items:
                    $ref: '#/definitions/CustomfieldgroupField'
    CustomfieldgroupField:
        type: object
        properties:
            name:
                type: string
                description: 'the name of the field'
            label:
                type: string
                description: 'the label of the field'
            type:
                type: string
                description: 'fieldtype, can be textarea|wysiwyg|textfield|list'
            options:
                type: array
                description: 'when fieldtype == "list", this attribute contains all the available options'
                items:
                    type: string
    Error:
        type: object
        properties:
            success:
                type: boolean
                example: false
            errors:
                type: array
                items:
                    type: object
                    properties:
                        code:
                            type: string
                            description: 'an error code'
                        message:
                            type: string
                        field:
                            type: string
    Order:
        type: object
        properties:
            id:
                type: integer
                description: 'the order ID.'
            reference:
                type: string
                description: 'the reference order number, eg used in another system'
            date_created:
                type: string
                format: dateTime
                description: 'the date at which the order was created'
            status:
                type: string
                description: 'the current status of the order: pending|paid|partially_shipped|shipped|cancelled|abandoned'
            items_quantity:
                type: integer
                description: 'the number of products in the order'
            items_price_total:
                type: number
                format: double
                description: 'the sum of all (product.price * quantity). This amount can be incl or excl tax depending on your tax_setting'
            items_tax:
                type: number
                format: double
                description: 'taxes charged on the shipping cost (if set in settings)'
            shipping_total:
                type: number
                format: double
                description: 'total shipping costs, including taxes on shipping costs (if set in settings)'
            discount:
                type: number
                format: double
                description: 'the total discount excluding taxes'
            tax:
                type: number
                format: double
                description: 'the total tax of the order'
            total:
                type: number
                format: double
                description: 'order total, including all taxes,discount and shipping costs'
            currency:
                type: string
                description: 'the currency for this order'
            language:
                type: integer
                description: 'the language used in the store and checkout page'
            source:
                type: string
                description: 'where the order is created: shop or fb'
            payment_method:
                type: string
                description: 'The chosen payment method. Online(authorize | ideal | mollie | multisafepay | ogone | paypalwebsitepaymentsstandard | sisow | twocheckout) or Offline(banktransfer | cashondelivery | cheque | pickup)'
            payment_text:
                type: string
                description: 'if you have added custom payment messages in your checkout settings page, we will load them up here, depending on the selected payment method your client has selected. If they have paid online and there is not custom payment text, we will leave this variable empty.'
            pdf_url:
                type: string
                description: 'the url of the pdf order document.'
            coupon:
                type: object
                description: 'object containing information about the used coupon'
                properties:
                    code:
                        type: string
                        description: 'the used coupon'
                    type:
                        type: string
                        description: 'the type of the coupon("cart_total" or "shipping")'
                    discount:
                        type: string
                        description: 'the discount amount. This amount is excluding tax in case of shipping and includes tax in case it was deducted from the cart total. The attribute order.discount is always without tax.'
            attributes:
                type: object
                description: 'a list of key/value attributes e.g. "note"'
            items:
                type: array
                description: 'a loopable collection of all items in the order'
                items:
                    $ref: '#/definitions/OrderItem'
            customer:
                $ref: '#/definitions/Customer'
    Customer:
        type: object
        properties:
            email:
                type: integer
                description: 'customer email address'
            mailinglist:
                type: integer
                description: 'contains 1 if user wants to receive promotional emails, 0 if not'
            billing:
                type: object
                properties:
                    first_name:
                        type: string
                        description: 'customer first name'
                    last_name:
                        type: string
                        description: 'customer last name'
                    address:
                        type: string
                        description: 'customer address'
                    address2:
                        type: string
                        description: 'customer address part 2 (empty if not entered)'
                    city:
                        type: string
                        description: 'customer city'
                    postal_code:
                        type: string
                        description: 'customer postal/zip code'
                    country_code:
                        type: string
                        description: 'customer country code (e.g. CA, US, GB, ...)'
                    region:
                        type: string
                        description: 'state or province'
                    company:
                        type: string
                        description: 'company name (empty if not entered)'
                    vat:
                        type: string
                        description: 'company VAT number (empty if not entered)'
                    phone:
                        type: string
                        description: 'customer phone number (empty if not entered)'
            shipping:
                type: object
                properties:
                    first_name:
                        type: string
                        description: 'customer first name'
                    last_name:
                        type: string
                        description: 'customer last name'
                    address:
                        type: string
                        description: 'customer address'
                    address2:
                        type: string
                        description: 'customer address part 2 (empty if not entered)'
                    city:
                        type: string
                        description: 'customer city'
                    postal_code:
                        type: string
                        description: 'customer postal/zip code'
                    country_code:
                        type: string
                        description: 'customer country code (e.g. CA, US, GB, ...)'
                    region:
                        type: string
                        description: 'state or province'
                    company:
                        type: string
                        description: 'company name (empty if not entered)'
                    phone:
                        type: string
                        description: 'customer phone number (empty if not entered)'
    OrderItem:
        type: object
        properties:
            id:
                type: integer
                description: 'id of the order line item'
            product_id:
                type: integer
                description: 'the id of the product'
            reference:
                type: integer
                description: 'the reference of the product'
            name:
                type: integer
                description: 'name of the item'
            tax_setting:
                type: integer
                description: '"incl" or "excl" depending on your store settings'
            tax_percentage:
                type: integer
                description: 'tax percentage linked to this item'
            price:
                type: integer
                description: 'price per piece'
            charge_shipping:
                type: integer
                description: '0 or 1 depending on your product settings'
            quantity:
                type: integer
                description: 'amount bought'
            price_total:
                type: integer
                description: 'price * quantity. This value can be incl or excl taxes depending on your tax_setting'
            tax:
                type: integer
                description: taxes
            total:
                type: integer
                description: 'total price for this item, including taxes'
            variants:
                type: array
                description: 'a loopable collection of all items in the order'
                items:
                    type: object
                    properties:
                        name:
                            type: string
                            description: 'name of the variant'
                        value:
                            type: string
                            description: 'value of the variant'
            attributes:
                type: object
                description: 'custom name of the attribute e.g. "engraving"'
    Page:
        type: object
        properties:
            id:
                type: integer
                description: 'the unique ID of your page'
            nicename:
                type: string
                description: 'the unique name of your product, often used in url''s'
            name:
                type: string
                description: 'the name/title of your page'
            content:
                type: string
                description: 'the content of your page'
            date_created:
                type: string
                format: dateTime
                description: 'the date at which the page was created'
            date_modified:
                type: string
                format: dateTime
                description: 'the date you last saved the page'
            url:
                type: string
                description: 'the url to point to the detail page of this one page (system template "page")'
            active:
                type: boolean
                description: 'whether your page is published or not'
            custom_fields:
                type: boolean
                description: 'An object that contains all customfield groups. lebel/value TODO'
    PaymentMethod:
        type: object
        properties:
            key:
                type: string
                description: 'the key of the paymentprovider'
            name:
                type: string
                description: 'the name of the paymentprovider'
            sandbox:
                type: string
                description: 'sandbox mode enabled'
            fields:
                type: object
                properties:
                    account:
                        type: object
                        properties:
                            value:
                                type: string
                    secret:
                        type: object
                        properties:
                            value:
                                type: string
                    secret2:
                        type: object
                        properties:
                            value:
                                type: string
                    text:
                        type: object
                        properties:
                            value:
                                type: string
    PaymentProvider:
        type: object
        properties:
            key:
                type: string
                description: 'the key of the paymentprovider'
            name:
                type: string
                description: 'the name of the paymentprovider'
            free_shipping:
                type: boolean
                description: 'charge for shipping'
            fields:
                type: object
                properties:
                    account:
                        type: object
                        properties:
                            label:
                                type: string
                    secret:
                        type: object
                        properties:
                            label:
                                type: string
                    secret2:
                        type: object
                        properties:
                            label:
                                type: string
    Product:
        type: object
        properties:
            id:
                type: integer
                description: 'the unique ID of your product'
            reference:
                type: string
                description: 'the externalreference for your product. The product id in an external erp/order tracking system.'
            description:
                type: string
                description: 'the product description'
            date_created:
                type: string
                format: dateTime
                description: 'the date at which the product was created'
            date_modified:
                type: string
                format: dateTime
                description: 'the date you last saved a product'
            name:
                type: string
                description: 'the name/title of your product'
            nicename:
                type: string
                description: 'the unique name of your product'
            price:
                type: number
                format: double
                description: 'the price of the product'
            taxgroup_id:
                type: integer
                description: 'the id of the tax group'
            charge_shipping:
                type: integer
                description: 'returns 0 if no shipping cost are charged for this product , 1 if shipping costs are calculated'
            use_in_shipping_calculation:
                type: integer
                description: 'in case charge_shipping equals 0, you can change this value to 0 if you don''t want to use this product in the calculation of shipping costs'
            always_available:
                type: boolean
                description: 'returns true if you have indicated that users can buy this product when it''s out of stock, otherwise false Also returns true if you are not tracking stock'
            stock:
                type: integer
                description: 'the actual stock count for this product, empty if stock tracking is disabled'
            tags:
                type: string
                description: 'the tags your entered for a product'
            thumbnail:
                type: string
                description: 'the thumbnail image of your product'
            track_stock:
                type: integer
                description: 'returns 0 if you have disabled stock tracking , 1 if stock is tracked on product level, 2 when stock is tracked on variant level'
            url:
                type: string
                description: 'the url to point to the detail page of this one product (system template "product")'
            weight:
                type: number
                format: double
                description: 'the weight your entered for a product'
            active:
                type: boolean
                description: 'whether your product is published or not'
            popularity:
                type: integer
                description: 'the number of items that have been sold'
            categories:
                type: array
                description: 'a loopable collection of all categories that are linked to a product'
                items:
                    $ref: '#/definitions/ProductCategory'
            custom_fields:
                type: string
                description: 'An object that contains all customfield groups. TODO'
            variants:
                type: array
                description: 'a loopable collection of all variants that are linked to a product'
                items:
                    $ref: '#/definitions/ProductVariant'
            variant_combinations:
                type: array
                description: 'a loopable collection of all variants combinations that are used in the product'
                items:
                    $ref: '#/definitions/ProductVariantCombinations'
            images:
                type: array
                description: 'a loopable collection of all images for the current product'
                items:
                    $ref: '#/definitions/ProductImages'
    ProductImages:
        type: object
        properties:
            thumbnail:
                type: string
                description: 'cropped thumbnail of the image (200pxx200px)'
            full:
                type: string
                description: 'the original image, compressed and optimized'
            original:
                type: string
                description: 'the original image, not compressed'
    ProductVariantCombinations:
        type: object
        properties:
            id:
                type: integer
                description: 'id of the variant combination'
            name:
                type: string
                description: 'name of the variant combination'
            price:
                type: number
                format: double
                description: 'price of the variant combination'
            stock:
                type: integer
                description: 'stock of the variant combination'
            extra:
                type: string
                description: 'the value of the additional variantcombination field'
    ProductVariant:
        type: object
        properties:
            id:
                type: integer
                description: 'id of the variant'
            name:
                type: string
                description: 'name of the variant'
            options:
                type: array
                description: 'a loopable collection of all variant options'
                items:
                    type: object
                    properties:
                        id:
                            type: integer
                            description: 'id of the option'
    ProductCategory:
        type: object
        properties:
            id:
                type: integer
                description: 'the id of the category'
            nicename:
                type: string
                description: 'nicename of the category'
            name:
                type: string
                description: 'name of the category'
            url:
                type: string
                description: 'url to the category page'
    Shipping:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of your shipping rule'
            country:
                type: string
                description: 'the country code, e.g. BE for Belgium'
            type:
                type: string
                description: 'the type of shipping rule. This can contain price, weight or amount depending on what type of shipping you have set'
            price:
                type: number
                format: double
                description: 'contains the minimum price for this shipping rule. Empty unless "type" is set to price'
            weight:
                type: string
                description: 'contains the minimum weight for this shipping rule. Empty unless "type" is set to weight'
            amount:
                type: string
                description: 'contains the minimum amount of products for this shipping rule. Empty unless "type" is set to amount'
            cost:
                type: number
                format: double
                description: 'the shipping cost'
    Shop:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of the store'
            key:
                type: string
                description: 'the unique key/slug for the store'
            name:
                type: string
                description: 'the name of the store'
            url:
                type: object
                properties:
                    site:
                        type: string
                        description: 'the url to the store frontend'
            date_created:
                type: string
                format: dateTime
                description: 'the date when the store was created'
            date_validuntil:
                type: string
                format: dateTime
                description: 'the date when the store will expire'
            currency:
                type: string
                description: 'the currency for the store ''EUR/USD/...'''
            domains:
                type: array
                description: 'a list of domains that are configured for the store'
                items:
                    type: string
    Tax:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of your tax rule'
            taxgroup_id:
                type: integer
                format: int64
                description: 'the id of the applicable tax group'
            taxgroup_name:
                type: string
                description: 'the name of the applicable tax group e.g. Shoes or Default Tax'
            country:
                type: string
                description: 'the country code for the tax rule e.g. US'
            region:
                type: string
                description: 'the region or province code e.g. QC. Empty unless country is US or CA'
            percentage_individual:
                type: number
                format: double
                description: 'the tax percentage to charge to a private individual e.g. 10.00'
            percentage_company:
                type: number
                format: double
                description: 'the tax percentage to charge to a company e.g. 10.00'
    User:
        type: object
        properties:
            id:
                type: integer
                format: int64
                description: 'the id of the user'
            username:
                type: string
                description: 'the username'
            first_name:
                type: string
                description: 'the firstname of the user'
            last_name:
                type: string
                description: 'the last name of the user'
            avatar:
                type: string
                description: 'Url to the avatar image'
            reset:
                type: string
                description: 'a unique guid that is used for password reset'
