> ## Documentation Index
> Fetch the complete documentation index at: https://docs.invopop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload a file

> Upload temporary file data to the silo spool. Requires 'enrolled' scope.

The Silo Spool service can be used by **Applications** as a temporary file store. This can be useful for example when processing documents that need additional processing before before added to a Silo Entry as an attachment.

Additionally, the Silo Spool will be used in the Transform Jobs API when uploading files as data URIs.


## OpenAPI

````yaml POST /silo/v1/spool
openapi: 3.0.0
info:
  contact:
    email: dev@invopop.com
    name: Invopop Developers
  description: >-
    Store and manage GOBL documents along with their attachments in "Silo
    Entries".
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Silo Service API
  version: 1.0.0
servers:
  - description: production
    url: https://api.invopop.com
security:
  - authToken: []
paths:
  /silo/v1/spool:
    post:
      description: Upload temporary file data to the silo spool. Requires 'enrolled' scope.
      requestBody:
        content:
          application/json:
            schema:
              properties:
                data:
                  description: Base64 encoded binary data.
                  format: byte
                  type: string
                name:
                  description: File name associated with the data.
                  example: invoice.xml
                  title: Name
                  type: string
                type:
                  description: MIME Type of the data
                  example: application/xml
                  title: Type
                  type: string
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiloUploadTempFileResponse'
          description: OK
components:
  schemas:
    SiloUploadTempFileResponse:
      properties:
        key:
          description: Use this key to download the file again later.
          title: Key
          type: string
      type: object
  securitySchemes:
    authToken:
      bearerFormat: JWT
      description: >-
        Use the `Bearer` scheme with a valid JWT token to authenticate requests.
        Example: `Authorization: Bearer <token>`
      scheme: bearer
      type: http

````