openapi: 3.0.3
info:
  title: 'NAV API'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'http://navapi.localhost'
paths:
  /approval:
    post:
      summary: 'Post an registration and credit limit approval.'
      description: "This endpoint allows you to update a user's credit limit in the AM system."
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: websiteId
          description: '- it has to be an existing user in am_users and am_field_values (for credit limit field)'
          example: nulla
          required: true
          schema:
            type: string
            description: '- it has to be an existing user in am_users and am_field_values (for credit limit field)'
            example: nulla
        -
          in: query
          name: creditLimit
          description: ''
          example: 16576.57
          required: true
          schema:
            type: number
            description: ''
            example: 16576.57
        -
          in: query
          name: registerApproval
          description: ''
          example: officia
          required: true
          schema:
            type: string
            description: ''
            example: officia
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - Approvals
  '/approval/{id}':
    put:
      summary: 'Update credit limit'
      description: "This endpoint allows you to update a user's credit limit in the AM system."
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - Approvals
    delete:
      summary: Undefined
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - Approvals
    parameters:
      -
        in: path
        name: id
        description: ''
        example: reiciendis
        required: true
        schema:
          type: string
  /catalogue_layout:
    post:
      summary: 'Post an registration and credit limit approval.'
      description: "This endpoint allows you to update a user's credit limit in the AM system."
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: websiteId
          description: '- it has to be an existing user in am_users and am_field_values (for credit limit field)'
          example: quia
          required: true
          schema:
            type: string
            description: '- it has to be an existing user in am_users and am_field_values (for credit limit field)'
            example: quia
        -
          in: query
          name: creditLimit
          description: ''
          example: 34507.1073
          required: true
          schema:
            type: number
            description: ''
            example: 34507.1073
        -
          in: query
          name: registerApproval
          description: ''
          example: repellendus
          required: true
          schema:
            type: string
            description: ''
            example: repellendus
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Catalogue layout management'
  '/catalogue_layout/{id}':
    put:
      summary: Update
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Catalogue layout management'
    delete:
      summary: Undefined
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Catalogue layout management'
    parameters:
      -
        in: path
        name: id
        description: ''
        example: aut
        required: true
        schema:
          type: string
  /document:
    post:
      summary: 'Post an registration and credit limit approval.'
      description: "This endpoint allows you to update a user's credit limit in the AM system."
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: websiteId
          description: '- it has to be an existing user in am_users and am_field_values (for credit limit field)'
          example: voluptate
          required: true
          schema:
            type: string
            description: '- it has to be an existing user in am_users and am_field_values (for credit limit field)'
            example: voluptate
        -
          in: query
          name: creditLimit
          description: ''
          example: 3426.22
          required: true
          schema:
            type: number
            description: ''
            example: 3426.22
        -
          in: query
          name: registerApproval
          description: ''
          example: ab
          required: true
          schema:
            type: string
            description: ''
            example: ab
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Document management'
  '/document/{id}':
    put:
      summary: ''
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Document management'
    delete:
      summary: Undefined
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Document management'
    parameters:
      -
        in: path
        name: id
        description: ''
        example: illum
        required: true
        schema:
          type: string
  /image:
    post:
      summary: 'Post an image.'
      description: "This endpoint allows you to add an image to the AM system linked to a lot.\n\n<aside class=\"notice\">The relatedSystemId has to be an existing lot in the db</aside>"
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: lot_id
          description: ''
          example: impedit
          required: true
          schema:
            type: string
            description: ''
            example: impedit
        -
          in: query
          name: sort_no
          description: ''
          example: dolorum
          required: true
          schema:
            type: string
            description: ''
            example: dolorum
        -
          in: query
          name: media_type
          description: ''
          example: 2052202.9245
          required: true
          schema:
            type: number
            description: ''
            example: 2052202.9245
        -
          in: query
          name: image
          description: ''
          example: dolorum
          required: true
          schema:
            type: string
            description: ''
            example: dolorum
        -
          in: header
          name: Content-Type
          description: ''
          example: multipart/form-data
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Image management for Non-NAV clients'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                sort_no:
                  type: number
                  description: ''
                  example: 397750.37533301
                image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 50000000 kilobytes.'
              required:
                - sort_no
                - image
  '/image/{id}':
    delete:
      summary: 'Soft delete an image.'
      description: 'This endpoint allows you to soft delete an image in the AM system.'
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Image management for Non-NAV clients'
    post:
      summary: 'Update an image.'
      description: 'This endpoint allows you to update an image in the AM system.'
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: multipart/form-data
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Image management for Non-NAV clients'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                sort_no:
                  type: number
                  description: ''
                  example: 763485.0
                image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 50000000 kilobytes.'
              required:
                - sort_no
    parameters:
      -
        in: path
        name: id
        description: ''
        example: sit
        required: true
        schema:
          type: string
  /image/sort:
    post:
      summary: 'Update sort order.'
      description: "This endpoint allows to bulk update the sort order of images in the AM system.\n\n<aside class=\"notice\">The SystemId has to be an existing entry in the db</aside>"
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: imageId
          description: ''
          example: et
          required: true
          schema:
            type: string
            description: ''
            example: et
        -
          in: query
          name: ordering
          description: ''
          example: 16.7
          required: true
          schema:
            type: number
            description: ''
            example: 16.7
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Image management for Non-NAV clients'
  /media:
    post:
      summary: 'Post an image.'
      description: "This endpoint allows you to add an image to the AM system linked to a lot.\n\n<aside class=\"notice\">The relatedSystemId has to be an existing lot in the db</aside>"
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: systemId
          description: ''
          example: non
          required: true
          schema:
            type: string
            description: ''
            example: non
        -
          in: query
          name: tableNo
          description: ''
          example: 420.5693
          required: true
          schema:
            type: number
            description: ''
            example: 420.5693
        -
          in: query
          name: relatedSystemId
          description: 'It has to be an existing lot in the db'
          example: sed
          required: true
          schema:
            type: string
            description: 'It has to be an existing lot in the db'
            example: sed
        -
          in: query
          name: entryNo
          description: ''
          example: 81416254.0
          required: true
          schema:
            type: number
            description: ''
            example: 81416254.0
        -
          in: query
          name: storageType
          description: ''
          example: recusandae
          required: true
          schema:
            type: string
            description: ''
            example: recusandae
        -
          in: query
          name: sortNo
          description: ''
          example: 1787512.295
          required: true
          schema:
            type: number
            description: ''
            example: 1787512.295
        -
          in: query
          name: mediaType
          description: ''
          example: veniam
          required: true
          schema:
            type: string
            description: ''
            example: veniam
        -
          in: query
          name: publicMediaPath
          description: 'An active url'
          example: dolor
          required: true
          schema:
            type: string
            description: 'An active url'
            example: dolor
        -
          in: query
          name: code
          description: ''
          example: aliquam
          required: true
          schema:
            type: string
            description: ''
            example: aliquam
        -
          in: query
          name: filename
          description: ''
          example: laborum
          required: true
          schema:
            type: string
            description: ''
            example: laborum
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Media management from NAV'
  /media/sort:
    post:
      summary: 'Update sort order.'
      description: "This endpoint allows to bulk update the sort order of images in the AM system.\n\n<aside class=\"notice\">The SystemId has to be an existing entry in the db</aside>"
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: query
          name: systemId
          description: ''
          example: impedit
          required: true
          schema:
            type: string
            description: ''
            example: impedit
        -
          in: query
          name: sortNo
          description: ''
          example: 14.0
          required: true
          schema:
            type: number
            description: ''
            example: 14.0
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Media management from NAV'
  '/media/{id}':
    put:
      summary: 'Update an image.'
      description: 'This endpoint allows you to update an image in the AM system.'
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Media management from NAV'
    delete:
      summary: 'Soft delete an image.'
      description: 'This endpoint allows you to soft delete an image in the AM system.'
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'Media management from NAV'
    parameters:
      -
        in: path
        name: id
        description: ''
        example: dolorem
        required: true
        schema:
          type: string
  /user:
    post:
      summary: 'Post a user record'
      description: 'This endpoint allows you to create a new AM user record or update an existing one'
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/json
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'User management'
    put:
      summary: ''
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'User management'
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              type: object
              properties:
                websiteID:
                  type: number
                  description: ''
                  example: 3601912.415
                customerNo:
                  type: string
                  description: ''
                  example: delectus
                vendorNo:
                  type: string
                  description: ''
                  example: quia
                firstName:
                  type: string
                  description: ''
                  example: ea
                middleName:
                  type: string
                  description: ''
                  example: quasi
                surname:
                  type: string
                  description: ''
                  example: sit
                companyName:
                  type: string
                  description: ''
                  example: assumenda
                email:
                  type: string
                  description: ''
                  example: omnis
                address:
                  type: string
                  description: ''
                  example: cupiditate
                address2:
                  type: string
                  description: ''
                  example: incidunt
                city:
                  type: string
                  description: ''
                  example: velit
                county:
                  type: string
                  description: ''
                  example: totam
                postCode:
                  type: string
                  description: ''
                  example: nesciunt
                country:
                  type: string
                  description: ''
                  example: ut
                phoneNo:
                  type: string
                  description: ''
                  example: sed
                mobileNo:
                  type: string
                  description: ''
                  example: quas
                vatNo:
                  type: string
                  description: ''
                  example: sit
                accountType:
                  type: string
                  description: ''
                  example: consequuntur
                blocked:
                  type: boolean
                  description: ''
                  example: false
                approved:
                  type: boolean
                  description: ''
                  example: true
                approvedBy:
                  type: string
                  description: ''
                  example: ipsam
                approvedAt:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2024-08-07T19:36:04'
                vendorApproved:
                  type: boolean
                  description: ''
                  example: true
                vendorApprovedBy:
                  type: string
                  description: ''
                  example: similique
                vendorApprovedAt:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2024-08-07T19:36:04'
                fromWebSourceCode:
                  type: string
                  description: ''
                  example: dolore
                fromWebSourceName:
                  type: string
                  description: ''
                  example: officiis
              required:
                - websiteID
                - email
    get:
      summary: 'Get a user record'
      description: 'This endpoint allows you to get AM user record details via the email address'
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/json
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - 'User management'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: ''
                  example: ut
              required:
                - email
  '/user/{id}':
    delete:
      summary: Undefined
      description: ''
      parameters:
        -
          in: query
          name: api_token
          description: 'Authentication key.'
          example: '{YOUR_AUTH_KEY}'
          required: true
          schema:
            type: string
            description: 'Authentication key.'
            example: '{YOUR_AUTH_KEY}'
        -
          in: header
          name: Content-Type
          description: ''
          example: application/xml
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses: {  }
      tags:
        - 'User management'
    parameters:
      -
        in: path
        name: id
        description: ''
        example: dolor
        required: true
        schema:
          type: string
tags:
  -
    name: Approvals
    description: "\nAPIs for post an registration and credit limit approval"
  -
    name: 'Catalogue layout management'
    description: "\nAPIs for managing catalogue layouts"
  -
    name: 'Document management'
    description: "\nAPIs for managing documents"
  -
    name: 'Image management for Non-NAV clients'
    description: "\nAPIs for managing images"
  -
    name: 'Media management from NAV'
    description: "\nAPIs for managing media from NAV"
  -
    name: 'User management'
    description: "\nAPIs for managing images"
components:
  securitySchemes:
    default:
      type: apiKey
      name: api_token
      in: query
      description: ''
security:
  -
    default: []
