Aloft Files by Resource API

Files by Resource

OpenAPI Specification

aloft-files-by-resource-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Aloft API V1 Accounts Files by Resource API
  contact:
    email: support@aloft.ai
  version: 1.0.0
  description: Accounts
tags:
- name: Files by Resource
  description: Files by Resource
paths:
  /v1/account/{account_id}/{resource}/{resource_id}/files:
    get:
      tags:
      - Files by Resource
      summary: Get all files
      description: Get all files for the provided resource and identifier
      operationId: e15c968644702649de451deff68335fd
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: order_by
        in: query
        description: The field to order the data by
        schema:
          type: string
      - name: order
        in: query
        schema:
          $ref: '#components/schemas/order'
      - name: document_type
        in: query
        description: 'File type. Can be: document, flight-log or media'
        required: false
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: page_length
        in: query
        schema:
          type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
    post:
      tags:
      - Files by Resource
      summary: Upload a file
      description: Upload a file and create a file association
      operationId: d64c280650aa34449af06a101df92587
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/account_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              allOf:
              - $ref: '#components/schemas/resource_file'
              - properties:
                  name:
                    description: Name of the file
                    type: string
                  document_type:
                    description: Type of the document
                    type: string
                    enum:
                    - media
                    - document
                    - other
                type: object
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '201':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
  /v1/account/{account_id}/{resource}/{resource_id}/files/{id}:
    get:
      tags:
      - Files by Resource
      summary: Get a file
      description: Get a file associated with the given resource
      operationId: 6d7f869e83bfda8a4010b68824c4cd98
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
  /v1/account/{account_id}/{resource}/{resource_id}/files/{file_id}/download:
    get:
      tags:
      - Files by Resource
      summary: Download a file
      description: Download a file
      operationId: e408ffea0244d058be5eb95f99f37fe2
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
  /v1/account/{account_id}/{resource}/{resource_id}/files/{file_id}/thumbnail:
    get:
      tags:
      - Files by Resource
      summary: Thumbnail of a file
      description: Get thumbnail of a file
      operationId: f0bfc1abe6e7fe8d8ec54b8dc66f5d75
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
  /v1/account/{account_id}/{resource}/{resource_id}/files/bulk:
    get:
      tags:
      - Files by Resource
      summary: Download multiple files
      description: Download a compressed archive of multiple files
      operationId: 4e906736e2521d8683d793530a5aea1b
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: id[]
        in: query
        required: true
        schema:
          type: array
          items:
            type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
  /v1/account/{account_id}/{resource}/{resource_id}/files/{file_id}/view:
    get:
      tags:
      - Files by Resource
      summary: View a file
      description: View a file
      operationId: 072b62b03f43ffa6b4539e95ce6d4298
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
  /v1/account/{account_id}/{resource}/{resource_id}/files/{file_id}:
    put:
      tags:
      - Files by Resource
      summary: Update a file
      description: Update a file and/or association
      operationId: 41e8023ae5f6554174da6faa7c526ae9
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/account_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              allOf:
              - $ref: '#components/schemas/resource_file'
              - properties:
                  name:
                    description: Name of the file
                    type: string
                  document_type:
                    description: Type of the document
                    type: string
                    enum:
                    - media
                    - document
                    - other
                type: object
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '200':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
    delete:
      tags:
      - Files by Resource
      summary: Delete a file association
      description: Delete a file association
      operationId: 7b5ae4451648f040ef1af23ff403af84
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          $ref: '#components/schemas/model_id'
      - name: resource
        in: path
        required: true
        schema:
          type: string
          enum:
          - aircrafts
          - certification-renewals
          - incidents
          - users
          - maintenances
          - missions
          - flights
      - name: resource_id
        in: path
        required: true
        schema:
          type: integer
      - name: file_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '403':
          description: Access Denied
        '401':
          description: Unauthorized
        '204':
          description: Successful operation
          content:
            application/json: {}
      security:
      - Aloft Token: []
components:
  schemas:
    account_id:
      type: integer
      example: REPLACE_WITH_ACCOUNT_ID
  securitySchemes:
    Aloft Token:
      type: http
      name: Aloft Token
      in: header
      scheme: bearer