openapi: 3.0.3 info: version: '1.0' title: Company authorization uploads API description: The Bokio Company API containing all resources for company tenant. termsOfService: https://docs.bokio.se/page/terms/ contact: name: Bokio url: https://docs.bokio.se email: support@bokio.se servers: - url: https://api.bokio.se/v1 description: Bokio API x-bokio-api: true security: - tokenAuth: [] tags: - name: uploads description: Operations for managing file uploads paths: /companies/{companyId}/uploads: parameters: - name: companyId in: path required: true description: Unique identifier of the company schema: type: string format: uuid example: ea9ee4dd-fae3-4aec-a7db-6fc9cc1f8135 post: tags: - uploads summary: Add an upload description: 'Add an upload to bokio in the form of an image or pdf. One file can be uploaded per request. The request must be **multi-part MIME**. #### Sample request for uploading a file using multipart MIME ``` POST http://api.bokio.se/companies/{companyId}/uploads Content-Type: multipart/form-data; boundary=----FormBoundary7MA4YWxkTrZu0gW Authorization: Bearer ------FormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="File"; filename="receipt.png" Content-Type: image/png < ./receipt.png ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="journalEntryId" 835ba700-b306-4bd9-8447-59207b6b0002 ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="description" Description for the upload ------FormBoundary7MA4YWxkTrZu0gW-- ``` **Scope:** `uploads:write` ' operationId: add-upload parameters: - name: Content-Type in: header required: true description: Content type of the request schema: type: string example: multipart/form-data;boundary=JLQPFBPUP0 requestBody: description: File and information for upload content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: The file to upload description: type: string description: Description of the upload. If left empty, the file name will be used. example: Receipt for invoice 1234 journalEntryId: type: string format: uuid description: The journal entry id to attach the upload to example: 835ba700-b306-4bd9-8447-59207b6b0002 required: - file responses: '200': description: Successfully added content: application/json: schema: $ref: '#/components/schemas/upload' examples: upload added: value: id: a419cf69-db6f-4de9-992c-b1a60942a443 description: example.png contentType: img/png journalEntryId: 835ba700-b306-4bd9-8447-59207b6b0002 '400': description: Invalid file data content: application/json: schema: $ref: '#/components/schemas/apiError' examples: Error: value: message: Validation failed with 1 error code: validation-error bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3 errors: - field: '#/file' message: Invalid file type. Only application/pdf, image/jpeg and image/png files are allowed. security: - tokenAuth: [] get: tags: - uploads summary: Get uploads description: 'Get all uploads for the company. Use the query parameters to filter and navigate through the results. **Scope:** `uploads:read`' operationId: get-uploads parameters: - name: page in: query required: false description: Page number schema: type: integer format: int32 default: 1 - name: pageSize in: query required: false description: Number of items per page schema: type: integer format: int32 default: 25 - name: query in: query required: false description: 'Optional query to filter the data set with supported fields listed below and [available operations](filtering). | Field | Type | | ------------------------- | ----------- | | description | string | | journalEntryId | string | ' schema: type: string example: description~Receipt for invoice 1234 responses: '200': description: uploads found content: application/json: schema: allOf: - $ref: '#/components/schemas/pagedResponse' - type: object properties: items: type: array items: $ref: '#/components/schemas/upload' security: - tokenAuth: [] /companies/{companyId}/uploads/{uploadId}: parameters: - name: companyId in: path required: true description: Unique identifier of the company schema: type: string format: uuid example: ea9ee4dd-fae3-4aec-a7db-6fc9cc1f8135 - name: uploadId in: path required: true description: Unique identifier of the upload schema: type: string format: uuid example: a419cf69-db6f-4de9-992c-b1a60942a443 get: tags: - uploads summary: Get an upload description: 'Retrieve the information of the upload with the matching uploadId. **Scope:** `uploads:read` ' operationId: get-upload responses: '200': description: upload found content: application/json: schema: $ref: '#/components/schemas/upload' examples: upload found: value: id: a419cf69-db6f-4de9-992c-b1a60942a443 description: example.png contentType: img/png journalEntryId: 835ba700-b306-4bd9-8447-59207b6b0002 '404': description: upload not found content: application/json: schema: $ref: '#/components/schemas/apiError' examples: Error: value: code: not-found message: upload not found bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3 security: - tokenAuth: [] /companies/{companyId}/uploads/{uploadId}/download: parameters: - name: companyId in: path required: true description: Unique identifier of the company schema: type: string format: uuid example: ea9ee4dd-fae3-4aec-a7db-6fc9cc1f8135 - name: uploadId in: path required: true description: Unique identifier of the upload schema: type: string format: uuid example: a419cf69-db6f-4de9-992c-b1a60942a443 get: tags: - uploads summary: Download file data for an upload description: 'Retrieve the file data of the upload with the matching uploadId. **Scope:** `uploads:read` ' operationId: download-upload responses: '200': description: Upload file found content: application/octet-stream: schema: type: string format: binary '404': description: Upload not found content: application/json: schema: $ref: '#/components/schemas/apiError' examples: Error: value: code: not-found message: upload not found bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3 security: - tokenAuth: [] components: schemas: apiError: type: object title: apiError properties: code: type: string message: type: string bokioErrorId: type: string format: uuid errors: type: array items: type: object properties: field: type: string message: type: string pagedResponse: type: object title: pagedResponse properties: totalItems: type: integer format: int32 example: 1 totalPages: type: integer format: int32 example: 1 currentPage: type: integer format: int32 example: 1 upload: type: object title: upload properties: id: type: string format: uuid readOnly: true description: type: string contentType: type: string journalEntryId: type: string format: uuid nullable: true example: id: a419cf69-db6f-4de9-992c-b1a60942a443 description: example.png contentType: img/png journalEntryId: 835ba700-b306-4bd9-8447-59207b6b0002 securitySchemes: tokenAuth: type: http scheme: bearer access_token: type: oauth2 flows: clientCredentials: tokenUrl: /token scopes: {} authorizationCode: authorizationUrl: /authorize tokenUrl: /token scopes: bank-payments:read-limited: Read access to bank payments created by the integration bank-payments:write: Write access to bank payments chart-of-accounts:read: Read access to chart of accounts company-information:read: Read access to company information credit-notes:read: Read access to credit notes credit-notes:write: Write access to credit notes customers:read: Read access to customers customers:write: Write access to customers fiscal-years:read: Read access to fiscal years invoices:read: Read access to invoices invoices:write: Write access to invoices items:read: Read access to items items:write: Write access to items journal-entries:read: Read access to journal entries journal-entries:write: Write access to journal entries sie:read: Read access to SIE files supplier-invoices:read: Read access to supplier invoices supplier-invoices:write: Write access to supplier invoices suppliers:read: Read access to suppliers suppliers:write: Write access to suppliers tags:read: Read access to tag groups and tags tags:write: Write access to tag groups and tags uploads:read: Read access to uploads uploads:write: Write access to uploads client_auth: type: http scheme: basic externalDocs: url: https://docs.bokio.se description: Read the API Documentation x-readme: explorer-enabled: true proxy-enabled: false samples-languages: - shell - http - node - csharp - java