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: 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: 174409424.799
          required: true
          schema:
            type: number
            description: ''
            example: 174409424.799
        -
          in: query
          name: registerApproval
          description: ''
          example: rerum
          required: true
          schema:
            type: string
            description: ''
            example: rerum
        -
          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: voluptas
        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: sed
          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: sed
        -
          in: query
          name: creditLimit
          description: ''
          example: 179254857.97639
          required: true
          schema:
            type: number
            description: ''
            example: 179254857.97639
        -
          in: query
          name: registerApproval
          description: ''
          example: a
          required: true
          schema:
            type: string
            description: ''
            example: a
        -
          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: ullam
        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: id
          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: id
        -
          in: query
          name: creditLimit
          description: ''
          example: 240646231.0
          required: true
          schema:
            type: number
            description: ''
            example: 240646231.0
        -
          in: query
          name: registerApproval
          description: ''
          example: ducimus
          required: true
          schema:
            type: string
            description: ''
            example: ducimus
        -
          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: ipsa
        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: accusantium
          required: true
          schema:
            type: string
            description: ''
            example: accusantium
        -
          in: query
          name: sort_no
          description: ''
          example: autem
          required: true
          schema:
            type: string
            description: ''
            example: autem
        -
          in: query
          name: media_type
          description: ''
          example: 0.685106216
          required: true
          schema:
            type: number
            description: ''
            example: 0.685106216
        -
          in: query
          name: image
          description: ''
          example: vitae
          required: true
          schema:
            type: string
            description: ''
            example: vitae
        -
          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: 2288.0
                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: 1.887
                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: cupiditate
        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: consequatur
          required: true
          schema:
            type: string
            description: ''
            example: consequatur
        -
          in: query
          name: ordering
          description: ''
          example: 393499.73367302
          required: true
          schema:
            type: number
            description: ''
            example: 393499.73367302
        -
          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: reprehenderit
          required: true
          schema:
            type: string
            description: ''
            example: reprehenderit
        -
          in: query
          name: tableNo
          description: ''
          example: 30218530.532
          required: true
          schema:
            type: number
            description: ''
            example: 30218530.532
        -
          in: query
          name: relatedSystemId
          description: 'It has to be an existing lot in the db'
          example: occaecati
          required: true
          schema:
            type: string
            description: 'It has to be an existing lot in the db'
            example: occaecati
        -
          in: query
          name: entryNo
          description: ''
          example: 4705579.773694
          required: true
          schema:
            type: number
            description: ''
            example: 4705579.773694
        -
          in: query
          name: storageType
          description: ''
          example: dolorem
          required: true
          schema:
            type: string
            description: ''
            example: dolorem
        -
          in: query
          name: sortNo
          description: ''
          example: 2274.0
          required: true
          schema:
            type: number
            description: ''
            example: 2274.0
        -
          in: query
          name: mediaType
          description: ''
          example: voluptatibus
          required: true
          schema:
            type: string
            description: ''
            example: voluptatibus
        -
          in: query
          name: publicMediaPath
          description: 'An active url'
          example: cupiditate
          required: true
          schema:
            type: string
            description: 'An active url'
            example: cupiditate
        -
          in: query
          name: code
          description: ''
          example: rerum
          required: true
          schema:
            type: string
            description: ''
            example: rerum
        -
          in: query
          name: filename
          description: ''
          example: dicta
          required: true
          schema:
            type: string
            description: ''
            example: dicta
        -
          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: incidunt
          required: true
          schema:
            type: string
            description: ''
            example: incidunt
        -
          in: query
          name: sortNo
          description: ''
          example: 648836.95
          required: true
          schema:
            type: number
            description: ''
            example: 648836.95
        -
          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: eum
        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: 3.0
                customerNo:
                  type: string
                  description: ''
                  example: aspernatur
                vendorNo:
                  type: string
                  description: ''
                  example: ipsam
                firstName:
                  type: string
                  description: ''
                  example: molestiae
                middleName:
                  type: string
                  description: ''
                  example: accusantium
                surname:
                  type: string
                  description: ''
                  example: dolorum
                companyName:
                  type: string
                  description: ''
                  example: est
                email:
                  type: string
                  description: ''
                  example: dolorem
                address:
                  type: string
                  description: ''
                  example: molestiae
                address2:
                  type: string
                  description: ''
                  example: doloribus
                city:
                  type: string
                  description: ''
                  example: dolore
                county:
                  type: string
                  description: ''
                  example: voluptas
                postCode:
                  type: string
                  description: ''
                  example: vel
                country:
                  type: string
                  description: ''
                  example: praesentium
                phoneNo:
                  type: string
                  description: ''
                  example: sint
                mobileNo:
                  type: string
                  description: ''
                  example: officia
                vatNo:
                  type: string
                  description: ''
                  example: ea
                accountType:
                  type: string
                  description: ''
                  example: doloremque
                blocked:
                  type: boolean
                  description: ''
                  example: false
                approved:
                  type: boolean
                  description: ''
                  example: true
                approvedBy:
                  type: string
                  description: ''
                  example: nesciunt
                approvedAt:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2024-08-07T19:34:13'
                vendorApproved:
                  type: boolean
                  description: ''
                  example: false
                vendorApprovedBy:
                  type: string
                  description: ''
                  example: quibusdam
                vendorApprovedAt:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2024-08-07T19:34:13'
                fromWebSourceCode:
                  type: string
                  description: ''
                  example: est
                fromWebSourceName:
                  type: string
                  description: ''
                  example: quod
              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: voluptate
              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: ea
        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: []
