# Upload files attachments

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v1/storage/files/upload/{attachmentType}:
    post:
      summary: Upload files attachments
      deprecated: false
      description: |-
        สำหรับ upload ไฟล์ตามประเภทต่าง ๆ โดยมีประเภททั้งหมดดังนี้
        Customer = 40019,
        Contract = 40021,
        ContractDocumentAttachment = 40052
      tags:
        - Venio/Storage
      parameters:
        - name: attachmentType
          in: path
          description: ประเภทของ attachment
          required: true
          example: <Attachment Type>
          schema:
            type: integer
        - name: Ocp-Apim-Subscription-Key
          in: header
          description: รหัส subscriptionของลูกค้า
          required: true
          example: <Ocp-Apim-Subscription-Key>
          schema:
            type: string
        - name: Content-Type
          in: header
          description: ''
          required: false
          example: application/json
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                files:
                  format: binary
                  type: string
                  example: ''
              required:
                - files
            examples: {}
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    properties:
                      attachmentId:
                        type: integer
                      type:
                        type: integer
                      refId:
                        type: integer
                      fileName:
                        type: string
                      extension:
                        type: string
                      fileSize:
                        type: integer
                      dateCreated:
                        type: string
                      resourceUrl:
                        type: string
                    x-apidog-orders:
                      - attachmentId
                      - type
                      - refId
                      - fileName
                      - extension
                      - fileSize
                      - dateCreated
                      - resourceUrl
                    required:
                      - attachmentId
                      - type
                      - refId
                      - fileName
                      - extension
                      - fileSize
                      - dateCreated
                      - resourceUrl
                    $ref: '#/components/schemas/AttachmentV2Dto'
                  hasError:
                    type: boolean
                  statusCode:
                    type: integer
                  httpStatusCode:
                    type: integer
                  errorMessages:
                    type: string
                x-apidog-refs: {}
                x-apidog-orders:
                  - data
                  - hasError
                  - statusCode
                  - httpStatusCode
                  - errorMessages
                required:
                  - data
                  - statusCode
                  - httpStatusCode
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: Success
        x-200:User authentication required V2.:
          description: ''
          content:
            application/json:
              schema:
                title: ''
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Required%20authorization'
                  status:
                    $ref: '#/components/schemas/Response%20Error%20Msg%20'
                required:
                  - data
                  - status
                x-apidog-orders:
                  - data
                  - status
                x-apidog-ignore-properties: []
              example:
                data:
                  subCode: E9103
                  description: Authorization credentials required
                  metadata: {}
                status:
                  code: '4001'
                  description: Business error with 1 errors
          headers: {}
          x-apidog-name: User authentication required V2.
      security:
        - bearer: []
      x-apidog-folder: Venio/Storage
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/351895/apis/api-18815298-run
components:
  schemas:
    AttachmentV2Dto:
      type: object
      properties:
        attachmentId:
          type: integer
        type:
          type: integer
        refId:
          type: integer
        fileName:
          type: string
        extension:
          type: string
        fileSize:
          type: integer
        dateCreated:
          type: string
        resourceUrl:
          type: string
      x-apidog-orders:
        - attachmentId
        - type
        - refId
        - fileName
        - extension
        - fileSize
        - dateCreated
        - resourceUrl
      required:
        - attachmentId
        - type
        - refId
        - fileName
        - extension
        - fileSize
        - dateCreated
        - resourceUrl
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    'Response Error Msg ':
      type: object
      properties:
        code:
          type: string
          x-apidog-mock: '4001'
        description:
          type: string
          x-apidog-mock: Business error with 1 errors
      required:
        - code
        - description
      x-apidog-orders:
        - code
        - description
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    Required authorization:
      type: object
      properties:
        subCode:
          type: string
          x-apidog-mock: E9103
        description:
          type: string
          x-apidog-mock: Authorization credentials required
        metadata:
          type: object
          properties: {}
          x-apidog-orders: []
          x-apidog-ignore-properties: []
      required:
        - subCode
        - description
        - metadata
      x-apidog-orders:
        - subCode
        - description
        - metadata
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes:
    bearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: ใส่ JWT Token ในรูปแบบ Bearer {token}
    bearer:
      type: http
      scheme: bearer
servers:
  - url: https://api.gofive.co.th
    description: Production
security:
  - bearerAuth: []
    x-apidog:
      schemeGroups:
        - id: uyL_cJmK7q60QJZRTi5ot
          schemeIds:
            - bearerAuth
      required: true
      use:
        id: uyL_cJmK7q60QJZRTi5ot
      scopes:
        uyL_cJmK7q60QJZRTi5ot:
          bearerAuth: []

```
