Bokio supplier-invoices API
Operations for managing supplier invoices
Operations for managing supplier invoices
openapi: 3.0.3
info:
version: '1.0'
title: Company authorization supplier-invoices 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: supplier-invoices
description: Operations for managing supplier invoices
paths:
/companies/{companyId}/supplier-invoices:
parameters:
- name: companyId
in: path
required: true
description: Unique identifier of the company
schema:
type: string
format: uuid
example: a9d8f1c2-6f34-4e4f-9d8a-2a4d3d5f7b91
post:
tags:
- supplier-invoices
summary: '[Preview] Create a supplier invoice'
description: 'Creates a new supplier invoice for the company.
**Scope:** `supplier-invoices:write`
'
operationId: post-supplier-invoice
requestBody:
description: Post the necessary fields for the API to create a new supplier invoice.
content:
application/json:
schema:
$ref: '#/components/schemas/supplierInvoiceCreate'
examples:
New supplier invoice:
value:
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
uploadRef:
id: 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
responses:
'200':
description: Supplier invoice created
content:
application/json:
schema:
$ref: '#/components/schemas/supplierInvoiceGet'
examples:
Supplier invoice created:
value:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
name: Supplier AB
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
remainingAmount: 1000
currency: SEK
currencyRate: 1
journalEntryRef:
id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
'400':
description: Validation or operation error
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Error:
value:
code: validation-error
message: Validation failed with 4 errors
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/supplierRef/id'
message: The supplier id field is required
- field: '#/invoiceDate'
message: The invoice date field is required
- field: '#/dueDate'
message: The due date field is required
- field: '#/totalAmount'
message: The totalAmount field is required
Upload already connected:
value:
code: validation-error
message: Validation failed with 1 error
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/uploadRef/id'
message: Upload with id 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90 is already connected
Upload deleted:
value:
code: validation-error
message: Validation failed with 1 error
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/uploadRef/id'
message: Upload with id 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90 has been deleted
'404':
description: Supplier invoice or upload not found
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Upload not found:
value:
code: not-found
message: No upload found with id 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
security:
- tokenAuth: []
get:
tags:
- supplier-invoices
summary: '[Preview] Get supplier invoices'
description: 'Get all supplier invoices for the company. Use the query parameters to filter and navigate through the results.
**Scope:** `supplier-invoices:read`
'
operationId: get-supplier-invoices
parameters:
- name: page
in: query
description: Page number
required: false
schema:
type: integer
format: int32
default: 1
- name: pageSize
in: query
description: Number of items per page
required: false
schema:
type: integer
format: int32
default: 25
maximum: 100
- 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 |
| ----------------- | ------ |
| supplierRef.id | string |
| invoiceNumber | string |
| totalAmount | number |
| currency | string |
| invoiceDate | date |
| dueDate | date |
'
schema:
type: string
example: dueDate==2023-10-15&¤cy==SEK
responses:
'200':
description: Supplier invoices found
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/pagedResponse'
- type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/supplierInvoiceGet'
examples:
Supplier invoices:
value:
totalItems: 2
totalPages: 1
currentPage: 1
items:
- id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
name: Supplier AB
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
remainingAmount: 1000
currency: SEK
currencyRate: 1
journalEntryRef:
id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
uploadRefs:
- id: 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
- id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
supplierRef:
id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
name: Consulting Nordic AB
invoiceNumber: INV-002
invoiceDate: 2023-10-05
dueDate: 2023-10-20
totalAmount: 2500
remainingAmount: 500
currency: SEK
currencyRate: 1
journalEntryRef:
id: 3c1a5e7b-9d2f-4b86-ae31-7f4c2d8b6a55
uploadRefs:
- id: 34e1c9a5-7b2d-4f86-8a31-6d2c5f9b7e40
security:
- tokenAuth: []
/companies/{companyId}/supplier-invoices/{supplierInvoiceId}:
parameters:
- name: companyId
in: path
required: true
description: Unique identifier of the company
schema:
type: string
format: uuid
example: a9d8f1c2-6f34-4e4f-9d8a-2a4d3d5f7b91
- name: supplierInvoiceId
in: path
required: true
description: Unique identifier of the supplier invoice
schema:
type: string
format: uuid
example: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
get:
tags:
- supplier-invoices
summary: '[Preview] Get a supplier invoice'
description: 'Retrieve the information of the supplier invoice with the matching supplierInvoiceId.
**Scope:** `supplier-invoices:read`
'
operationId: get-supplier-invoice-by-id
responses:
'200':
description: Supplier invoice found
content:
application/json:
schema:
$ref: '#/components/schemas/supplierInvoiceGet'
examples:
Supplier invoice example:
value:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
name: Supplier AB
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
remainingAmount: 1000
currency: SEK
currencyRate: 1
journalEntryRef:
id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
uploadRefs:
- id: 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
'404':
description: Supplier invoice not found
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Supplier invoice not found:
value:
code: not-found
message: Supplier invoice not found
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
security:
- tokenAuth: []
put:
tags:
- supplier-invoices
summary: '[Preview] Update a supplier invoice'
description: 'Update an existing supplier invoice for the company.
**Scope:** `supplier-invoices:write`
'
operationId: put-supplier-invoice
requestBody:
description: Post the necessary fields for the API to update a supplier invoice.
content:
application/json:
schema:
$ref: '#/components/schemas/supplierInvoiceUpdate'
examples:
Updated supplier invoice:
value:
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
responses:
'200':
description: Supplier invoice updated
content:
application/json:
schema:
$ref: '#/components/schemas/supplierInvoiceGet'
examples:
Supplier invoice updated:
value:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
name: Supplier AB
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
remainingAmount: 1000
currency: SEK
currencyRate: 1
journalEntryRef:
id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
'400':
description: Missing required information
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Error:
value:
code: validation-error
message: Validation failed with 4 errors
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/supplierRef/id'
message: The supplier id field is required
- field: '#/invoiceDate'
message: The invoice date field is required
- field: '#/dueDate'
message: The due date field is required
- field: '#/totalAmount'
message: The totalAmount field is required
Not created by integration:
value:
code: operation-not-allowed
message: Bokio API only supports updating supplier invoices that have been added through the API by the same integration.
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
'404':
description: Supplier invoice not found
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Error:
value:
code: not-found
message: Supplier invoice not found
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
security:
- tokenAuth: []
delete:
tags:
- supplier-invoices
summary: '[Preview] Delete a supplier invoice'
description: 'Delete an existing supplier invoice for the company.
**Scope:** `supplier-invoices:write`
'
operationId: delete-supplier-invoice
responses:
'204':
description: Supplier invoice deleted
'400':
description: Operation not allowed
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Error:
value:
code: operation-not-allowed
message: Bokio API only supports deleting supplier invoices that have been added through the API by the same integration.
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
security:
- tokenAuth: []
/companies/{companyId}/supplier-invoices/{supplierInvoiceId}/uploads:
parameters:
- name: companyId
in: path
required: true
description: Unique identifier of the company
schema:
type: string
format: uuid
example: a9d8f1c2-6f34-4e4f-9d8a-2a4d3d5f7b91
- name: supplierInvoiceId
in: path
required: true
description: Unique identifier of the supplier invoice
schema:
type: string
format: uuid
example: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
post:
tags:
- supplier-invoices
summary: '[Preview] Add an upload to a supplier invoice'
description: 'Add an upload to the supplier invoice.
**Scope:** `supplier-invoices:write`
'
operationId: post-supplier-invoice-upload
requestBody:
description: Post the necessary fields for the API to add an upload to the supplier invoice.
content:
application/json:
schema:
$ref: '#/components/schemas/uploadRef'
examples:
Existing upload:
value:
id: 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
responses:
'200':
description: Upload added to supplier invoice
content:
application/json:
schema:
$ref: '#/components/schemas/uploadRef'
examples:
Upload:
value:
id: 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
Upload not found:
value:
code: not-found
message: No upload found with id 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
'400':
description: Validation or operation error
content:
application/json:
schema:
$ref: '#/components/schemas/apiError'
examples:
Validation error:
value:
code: validation-error
message: Missing required information
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/id'
message: The upload id field is required
Upload already connected:
value:
code: validation-error
message: Upload is already connected
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/id'
message: Upload with id 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90 is already connected
Upload deleted:
value:
code: validation-error
message: Upload has been deleted
bokioErrorId: 9b408943-7a1e-47ac-85a7-ac52b2c210d3
errors:
- field: '#/id'
message: Upload with id 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90 has been deleted
Not created by integration:
value:
code: operation-not-allowed
message: Bokio API only supports adding uploads to supplier invoices that have been added through the API by the same integration.
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
supplierInvoiceGet:
type: object
title: SupplierInvoice
required:
- invoiceDate
- dueDate
- totalAmount
- supplierRef
properties:
id:
type: string
format: uuid
readOnly: true
supplierRef:
type: object
required:
- id
properties:
id:
type: string
format: uuid
name:
type: string
readOnly: true
invoiceNumber:
type: string
invoiceDate:
type: string
format: date
dueDate:
type: string
format: date
totalAmount:
type: number
format: double
remainingAmount:
type: number
format: double
readOnly: true
currency:
type: string
readOnly: true
currencyRate:
type: number
format: double
readOnly: true
journalEntryRef:
type: object
readOnly: true
nullable: true
properties:
id:
type: string
format: uuid
readOnly: true
uploadRefs:
type: array
items:
$ref: '#/components/schemas/uploadRef'
example:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
supplierRef:
id: 6f6b2f17-3c4a-4a69-9f2d-3f5d7e1b8c90
name: Supplier AB
invoiceNumber: INV-001
invoiceDate: 2023-10-01
dueDate: 2023-10-15
totalAmount: 1000
remainingAmount: 1000
currency: SEK
currencyRate: 1
journalEntryRef:
id: 2d8ce6b4-1f3a-46a5-8a9d-5b7f2c4e9d10
uploadRefs:
- id: 24f3b7c1-8d6a-4e2f-9b31-5d7c2a8e4f90
- id: 34e1c9a5-7b2d-4f86-8a31-6d2c5f9b7e40
supplierInvoiceUpdate:
type: object
title: SupplierInvoiceUpdate
required:
- invoiceDate
- dueDate
- totalAmount
- supplierRef
properties:
supplierRef:
type: object
required:
- id
properties:
id:
type: string
format: uuid
invoiceNumber:
type: string
invoiceDate:
type: string
format: date
dueDate:
type: string
format: date
totalAmount:
type: number
format: double
uploadRef:
type: object
title: UploadRef
properties:
id:
type: string
format: uuid
description: Unique identifier of an existing upload
example:
id: 240a4af0-edfd-47b1-b4ab-f30450eaac19
supplierInvoiceCreate:
type: object
title: SupplierInvoiceCreate
required:
- invoiceDate
- dueDate
- totalAmount
- supplierRef
properties:
supplierRef:
type: object
required:
- id
properties:
id:
type: string
format: uuid
invoiceNumber:
type: string
invoiceDate:
type: string
format: date
dueDate:
type: string
format: date
totalAmount:
type: number
format: double
uploadRef:
$ref: '#/components/schemas/uploadRef'
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