AlayaCare File API

The File API from AlayaCare — 1 operation(s) for file.

OpenAPI Specification

alayacare-file-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.19-oas3
  title: AlayaCare Accounting Accounts File API
  description: '**AlayaCare IDs:**

    The following terms are used to reference IDs that identify resources in AlayaCare:

    - id

    - visit_id

    - premium_id

    - visit_premium_id

    - employee_id

    - cost_centre_id

    - client_id


    **External IDs**

    The following terms are used to reference IDs that identify resources systems external to AlayaCare:

    - employee_external_id

    - client_external_id


    External IDs are required to be unique.

    No other assumptions are made regarding their format they are treated as strings.

    '
servers:
- url: https://example.alayacare.com/ext/api/v2/accounting
security:
- basic_auth: []
tags:
- name: File
paths:
  /client/{id}/{path}:
    parameters:
    - name: id
      in: path
      required: true
      type: integer
    - name: path
      in: path
      required: true
      type: string
    get:
      tags:
      - File
      summary: Get the content of a file (download a file)
      responses:
        200:
          description: Content of the file
        400:
          description: File not found
          schema:
            type: object
            properties:
              code:
                type: integer
                description: http status response code
                example: 404
              message:
                type: string
                description: Detail on the error
                example: File "file.pdf" to delete not found
    post:
      tags:
      - File
      summary: Upload a file
      description: 'Upload a file at the `path` location and create the underlying folder structure if it doesn''t exist already.


        `path` **cannot** end with `/` in order to create a file based on the request body.


        **Note:** This consumes `multipart form-data` as defined in the parameters below.


        **Note on content attributes:** When specifying the key that references the file, the key must be set as `file` in the request in order for the API to find the file.

        '
      parameters:
      - name: file
        in: formData
        type: file
        description: The file to upload
      consumes:
      - multipart/form-data
      produces:
      - application/json
      responses:
        201:
          description: File uploaded
          schema:
            type: object
            properties:
              code:
                type: integer
                description: http status response code
                example: 201
              name:
                type: string
                description: Url to the file uploaded
                example: client/1002/file.pdf
        400:
          description: 'Bad Request: File missing

            '
          schema:
            type: object
            properties:
              code:
                type: integer
                description: http status response code
                example: 400
              message:
                type: string
                description: Detail on the error
                example: Could not find a file to upload
    put:
      tags:
      - File
      summary: Copy or move a file
      description: 'Copy or move a directory and create the underlying folder structure of the new location if it doesn''t already exist.


        Whether the directory is moved or simply copied is defined by a `move` header that can be set to `true` (if the header is not provided, its value defaults to `false` and the `source` directory will remain).


        The url of the `PUT` request is the path to the destination location.

        i.e., if we have the following directories:

        - `dir1/child1/`

        - `dir2/child2/`


        and we want to copy `child1/` inside `dir2/` (the goal is to have `dir2/child1/`), the `path` in the url of the `PUT` request has to be: `dir2/child1/`. The `source` header of the request has to be `dir1/child1/`.


        A 400 response will be returned for a request to move a folder in one of its own subfolders.

        '
      produces:
      - application/json
      responses:
        200:
          description: File copied or moved
          schema:
            type: object
            properties:
              code:
                type: integer
                description: http status response
                example: 200
              name:
                type: integer
                description: 'Url to the new location of the copied or moved file

                  '
                example: client/1002/new_location.txt
        400:
          description: 'Bad Request: Missing `source` header

            '
          schema:
            type: object
            properties:
              message:
                type: object
                properties:
                  source:
                    type: string
                    description: Detail on the error
                    example: The request cannot be processed without the source variable
        404:
          description: Source file not found
          schema:
            $ref: '#/definitions/FileNotFoundSchema'
    delete:
      tags:
      - File
      summary: Delete a file
      description: Delete a file. As opposed to deleting a directory, the forced-delete header is not required to delete a single file.
      produces:
      - application/json
      responses:
        204:
          description: File deleted
        404:
          description: File not found
          schema:
            $ref: '#/definitions/FileNotFoundSchema'
components:
  securitySchemes:
    basic_auth:
      type: http
      description: Basic HTTP auth over https
      scheme: basic
definitions:
  FileNotFoundSchema:
    type: object
    properties:
      code:
        type: integer
        description: http status response code
        example: 404
      message:
        type: string
        description: Detail on the error
        example: File "file.pdf" not found