---
title: "Upload file."
method: POST
path: "/api/v1/file/user"
tags: ["File"]
---

# Upload file.

`POST /api/v1/file/user`

## Request

- Base URL: `https://api.intheloop.io`
- URL: `https://api.intheloop.io/api/v1/file/user`
- Auth: API key in header `Authorization`

## Headers

- `Authorization` string
- `X-Impersonate-User` string

## Request body `multipart/form-data`

- object
  - `file` string, binary: File object

## Response `201`

Created

- File: File resource
  - `id` string: Resource id
  - `name` string: Resource name or title
  - `revision` string: Resource revision
  - `clientId` string: Resource client id
  - `$type` string, required
  - `created` string, date-time: Date time when file was created
  - `owner` User: User contact resource.
    - `id` string: Resource id
    - `name` string: Resource name or title
    - `revision` string: Resource revision
    - `clientId` string: Resource client id
    - `$type` string, required
    - `tags` ListOfTags: List of tags resource
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfResourcesOfTag: List of resources
        - `resources` Tag[]: List of resources
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
        - `size` integer, required: Page size
        - `offset` integer, required: Page offset
        - `offsetHistoryId` string: Offset history id
        - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
      - `parent` ResourceBase: Resource base
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
    - `weight` number: Usage weight.
    - `created` string, date-time: Date time of contact creation
    - `modified` string, date-time: Date time of last time contact was modified
    - `userIdentificator` string: User's Identificator for EmailUser is email for phone is telephone, ....
    - `userType` 'EmailUser' | 'ViberUser' | 'MessengerUser' | 'WhatsappUser' | 'PhoneUser', required: User types
    - `email` string: User's email address
    - `firstName` string: User's first name
    - `lastName` string: User's last name
    - `onlineStatus` string: Online status (possible values can be seen at enums/UserStatus)
    - `lastActivityAt` string, date-time: Date time of the user's last activity
    - `displayName` string: User's display name, set only for senders and should be displayed per comment, mostly nullable
    - `changableDisplayName` boolean: ChangableDisplayName indicates that user has changable name (example github notification user)
    - `availabilityStatus` AvailabilityUserStatus: Subscription availability status for user
      - `status` string: Status
      - `emoji` string: Availability Emoji
      - `clearAfter` string, date-time: Availability clear after in minutes
      - `enabledAssignments` boolean, required: Availability available for assignments
      - `outOfOffice` boolean, required: Availability out of office
  - `hash` string: File hash
  - `size` integer, required: File size (in bytes)
  - `hidden` boolean, required: File is hidden
  - `thumbnailInfo` ThumbnailInfo: Thumbnail info resource
    - `supported` boolean, required: If thumbnail for this file type is supported (do not GET thumbnail if this is set to false)
    - `failed` boolean, required: If thumbnail generation for this file has failed (do not GET thumbnail if this is set to true)
    - `ready` boolean, required: If thumbnail for this file is ready (you can now GET thumbnail if this is set to true)
    - `pages` ListOfResourcesOfThumbnailPage: List of resources
      - `resources` ThumbnailPage[]: List of resources
        - `pageNumber` integer, required: Page number
        - `width` integer, required: Page width
        - `height` integer, required: Page height
        - `hasPdf` boolean, required: PDF exists for this file
      - `size` integer, required: Page size
      - `offset` integer, required: Page offset
      - `offsetHistoryId` string: Offset history id
      - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
  - `parentComment` CommentBase: Comment base resource
    - `id` string: Resource id
    - `name` string: Resource name or title
    - `revision` string: Resource revision
    - `clientId` string: Resource client id
    - `$type` string, required
    - `author` User: User contact resource.
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfTags: List of tags resource
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
        - `tags` ListOfResourcesOfTag: List of resources
          - `resources` Tag[]: List of resources
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
            - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
          - `size` integer, required: Page size
          - `offset` integer, required: Page offset
          - `offsetHistoryId` string: Offset history id
          - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
        - `parent` ResourceBase: Resource base
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
      - `weight` number: Usage weight.
      - `created` string, date-time: Date time of contact creation
      - `modified` string, date-time: Date time of last time contact was modified
      - `userIdentificator` string: User's Identificator for EmailUser is email for phone is telephone, ....
      - `userType` 'EmailUser' | 'ViberUser' | 'MessengerUser' | 'WhatsappUser' | 'PhoneUser', required: User types
      - `email` string: User's email address
      - `firstName` string: User's first name
      - `lastName` string: User's last name
      - `onlineStatus` string: Online status (possible values can be seen at enums/UserStatus)
      - `lastActivityAt` string, date-time: Date time of the user's last activity
      - `displayName` string: User's display name, set only for senders and should be displayed per comment, mostly nullable
      - `changableDisplayName` boolean: ChangableDisplayName indicates that user has changable name (example github notification user)
      - `availabilityStatus` AvailabilityUserStatus: Subscription availability status for user
        - `status` string: Status
        - `emoji` string: Availability Emoji
        - `clearAfter` string, date-time: Availability clear after in minutes
        - `enabledAssignments` boolean, required: Availability available for assignments
        - `outOfOffice` boolean, required: Availability out of office
    - `created` string, date-time: Created date time of comment
    - `parent` CardBase: Card base resource
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `author` User: User contact resource.
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
        - `tags` ListOfTags: List of tags resource
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tags` ListOfResourcesOfTag: List of resources
            - `resources` Tag[]: List of resources
              - …
            - `size` integer, required: Page size
            - `offset` integer, required: Page offset
            - `offsetHistoryId` string: Offset history id
            - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
          - `parent` ResourceBase: Resource base
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
        - `weight` number: Usage weight.
        - `created` string, date-time: Date time of contact creation
        - `modified` string, date-time: Date time of last time contact was modified
        - `userIdentificator` string: User's Identificator for EmailUser is email for phone is telephone, ....
        - `userType` 'EmailUser' | 'ViberUser' | 'MessengerUser' | 'WhatsappUser' | 'PhoneUser', required: User types
        - `email` string: User's email address
        - `firstName` string: User's first name
        - `lastName` string: User's last name
        - `onlineStatus` string: Online status (possible values can be seen at enums/UserStatus)
        - `lastActivityAt` string, date-time: Date time of the user's last activity
        - `displayName` string: User's display name, set only for senders and should be displayed per comment, mostly nullable
        - `changableDisplayName` boolean: ChangableDisplayName indicates that user has changable name (example github notification user)
        - `availabilityStatus` AvailabilityUserStatus: Subscription availability status for user
          - `status` string: Status
          - `emoji` string: Availability Emoji
          - `clearAfter` string, date-time: Availability clear after in minutes
          - `enabledAssignments` boolean, required: Availability available for assignments
          - `outOfOffice` boolean, required: Availability out of office
      - `shareList` ListOfResourcesOfContactBase: List of resources
        - `resources` ContactBase[]: List of resources
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tags` ListOfTags: List of tags resource
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
            - `tags` ListOfResourcesOfTag: List of resources
              - …
            - `parent` ResourceBase: Resource base
              - …
          - `weight` number: Usage weight.
          - `created` string, date-time: Date time of contact creation
          - `modified` string, date-time: Date time of last time contact was modified
        - `size` integer, required: Page size
        - `offset` integer, required: Page offset
        - `offsetHistoryId` string: Offset history id
        - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
      - `tags` ListOfTags: List of tags resource
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
        - `tags` ListOfResourcesOfTag: List of resources
          - `resources` Tag[]: List of resources
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
            - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
          - `size` integer, required: Page size
          - `offset` integer, required: Page offset
          - `offsetHistoryId` string: Offset history id
          - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
        - `parent` ResourceBase: Resource base
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
      - `sharedTags` ListOfTags: List of tags resource
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
        - `tags` ListOfResourcesOfTag: List of resources
          - `resources` Tag[]: List of resources
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
            - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
          - `size` integer, required: Page size
          - `offset` integer, required: Page offset
          - `offsetHistoryId` string: Offset history id
          - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
        - `parent` ResourceBase: Resource base
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
      - `created` string, date-time: Time of card creation
      - `channelType` string: Channel Type
      - `loopinHandledBySystem` boolean: Information for integration. Do not loop this card - is allready loop in
    - `attachments` ListOfResourcesOfFile: List of resources
      - `resources` File[]: List of resources
      - `size` integer, required: Page size
      - `offset` integer, required: Page offset
      - `offsetHistoryId` string: Offset history id
      - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
    - `snippet` string: Comment snippet
    - `tags` ListOfTags: List of tags resource
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfResourcesOfTag: List of resources
        - `resources` Tag[]: List of resources
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
        - `size` integer, required: Page size
        - `offset` integer, required: Page offset
        - `offsetHistoryId` string: Offset history id
        - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
      - `parent` ResourceBase: Resource base
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
    - `sharedTags` ListOfTags: List of tags resource
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfResourcesOfTag: List of resources
        - `resources` Tag[]: List of resources
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
        - `size` integer, required: Page size
        - `offset` integer, required: Page offset
        - `offsetHistoryId` string: Offset history id
        - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
      - `parent` ResourceBase: Resource base
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
  - `parentCard` CardBase: Card base resource
    - `id` string: Resource id
    - `name` string: Resource name or title
    - `revision` string: Resource revision
    - `clientId` string: Resource client id
    - `$type` string, required
    - `author` User: User contact resource.
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfTags: List of tags resource
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
        - `tags` ListOfResourcesOfTag: List of resources
          - `resources` Tag[]: List of resources
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
            - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
          - `size` integer, required: Page size
          - `offset` integer, required: Page offset
          - `offsetHistoryId` string: Offset history id
          - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
        - `parent` ResourceBase: Resource base
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
      - `weight` number: Usage weight.
      - `created` string, date-time: Date time of contact creation
      - `modified` string, date-time: Date time of last time contact was modified
      - `userIdentificator` string: User's Identificator for EmailUser is email for phone is telephone, ....
      - `userType` 'EmailUser' | 'ViberUser' | 'MessengerUser' | 'WhatsappUser' | 'PhoneUser', required: User types
      - `email` string: User's email address
      - `firstName` string: User's first name
      - `lastName` string: User's last name
      - `onlineStatus` string: Online status (possible values can be seen at enums/UserStatus)
      - `lastActivityAt` string, date-time: Date time of the user's last activity
      - `displayName` string: User's display name, set only for senders and should be displayed per comment, mostly nullable
      - `changableDisplayName` boolean: ChangableDisplayName indicates that user has changable name (example github notification user)
      - `availabilityStatus` AvailabilityUserStatus: Subscription availability status for user
        - `status` string: Status
        - `emoji` string: Availability Emoji
        - `clearAfter` string, date-time: Availability clear after in minutes
        - `enabledAssignments` boolean, required: Availability available for assignments
        - `outOfOffice` boolean, required: Availability out of office
    - `shareList` ListOfResourcesOfContactBase: List of resources
      - `resources` ContactBase[]: List of resources
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
        - `tags` ListOfTags: List of tags resource
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tags` ListOfResourcesOfTag: List of resources
            - `resources` Tag[]: List of resources
              - …
            - `size` integer, required: Page size
            - `offset` integer, required: Page offset
            - `offsetHistoryId` string: Offset history id
            - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
          - `parent` ResourceBase: Resource base
            - `id` string: Resource id
            - `name` string: Resource name or title
            - `revision` string: Resource revision
            - `clientId` string: Resource client id
            - `$type` string, required
        - `weight` number: Usage weight.
        - `created` string, date-time: Date time of contact creation
        - `modified` string, date-time: Date time of last time contact was modified
      - `size` integer, required: Page size
      - `offset` integer, required: Page offset
      - `offsetHistoryId` string: Offset history id
      - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
    - `tags` ListOfTags: List of tags resource
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfResourcesOfTag: List of resources
        - `resources` Tag[]: List of resources
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
        - `size` integer, required: Page size
        - `offset` integer, required: Page offset
        - `offsetHistoryId` string: Offset history id
        - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
      - `parent` ResourceBase: Resource base
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
    - `sharedTags` ListOfTags: List of tags resource
      - `id` string: Resource id
      - `name` string: Resource name or title
      - `revision` string: Resource revision
      - `clientId` string: Resource client id
      - `$type` string, required
      - `tags` ListOfResourcesOfTag: List of resources
        - `resources` Tag[]: List of resources
          - `id` string: Resource id
          - `name` string: Resource name or title
          - `revision` string: Resource revision
          - `clientId` string: Resource client id
          - `$type` string, required
          - `tagType` string: Tag type. If TagType is the same as Id, that means that this is a system board and can not be altered by clients
        - `size` integer, required: Page size
        - `offset` integer, required: Page offset
        - `offsetHistoryId` string: Offset history id
        - `totalSize` integer, required: Total size (if total size is at least one bigger than size, then there are more resources). Total size does not necessarily mean the actual total size
      - `parent` ResourceBase: Resource base
        - `id` string: Resource id
        - `name` string: Resource name or title
        - `revision` string: Resource revision
        - `clientId` string: Resource client id
        - `$type` string, required
    - `created` string, date-time: Time of card creation
    - `channelType` string: Channel Type
    - `loopinHandledBySystem` boolean: Information for integration. Do not loop this card - is allready loop in
  - `urlLink` string: Url link of attachment - with autorization (signature) and expire date
  - `width` integer: Width (image width)
  - `height` integer: Height (image height)

## Other responses

- `400`: Bad request. Check fields message and error code from response body for additional information.
- `401`: Unauthorized request. Check fields message and error code from response body for additional information.
- `429`: Too many requests. Check response header Retry-After indicating how long to wait before making a new request.
- `451`: Unavailable because account is not verified.

---

[API](https://skmtc.dev/intheloop/apis/loop-api.md) - [All operations](https://skmtc.dev/intheloop/apis/loop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/intheloop/apis/loop-api/revisions/0892c5ba0787?raw)
