Paperless_ngx_REST_API.yaml•268 kB
openapi: 3.0.3
info:
title: Paperless-ngx REST API
version: 6.0.0 (9)
description: OpenAPI Spec for Paperless-ngx
paths:
/api/bulk_edit_objects/:
post:
operationId: bulk_edit_objects
description: Perform a bulk edit operation on a list of objects
externalDocs:
description: Further documentation
url: https://docs.paperless-ngx.com/api/#objects
tags:
- bulk_edit_objects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkEditObjectsRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BulkEditResult'
description: ''
/api/config/:
get:
operationId: config_list
description: Get the application configuration
externalDocs:
description: Application Configuration
url: https://docs.paperless-ngx.com/configuration/
tags:
- config
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApplicationConfiguration'
description: ''
/api/config/{id}/:
get:
operationId: config_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this paperless application
settings.
required: true
tags:
- config
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfiguration'
description: ''
put:
operationId: config_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this paperless application
settings.
required: true
tags:
- config
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfigurationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ApplicationConfigurationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ApplicationConfigurationRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfiguration'
description: ''
patch:
operationId: config_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this paperless application
settings.
required: true
tags:
- config
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedApplicationConfigurationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedApplicationConfigurationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedApplicationConfigurationRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationConfiguration'
description: ''
delete:
operationId: config_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this paperless application
settings.
required: true
tags:
- config
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/correspondents/:
get:
operationId: correspondents_list
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: query
name: id
schema:
type: integer
- in: query
name: id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iendswith
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__istartswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- correspondents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCorrespondentList'
description: ''
post:
operationId: correspondents_create
tags:
- correspondents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CorrespondentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CorrespondentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CorrespondentRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Correspondent'
description: ''
/api/correspondents/{id}/:
get:
operationId: correspondents_retrieve
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this correspondent.
required: true
tags:
- correspondents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Correspondent'
description: ''
put:
operationId: correspondents_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this correspondent.
required: true
tags:
- correspondents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CorrespondentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CorrespondentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CorrespondentRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Correspondent'
description: ''
patch:
operationId: correspondents_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this correspondent.
required: true
tags:
- correspondents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCorrespondentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedCorrespondentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCorrespondentRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Correspondent'
description: ''
delete:
operationId: correspondents_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this correspondent.
required: true
tags:
- correspondents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/custom_fields/:
get:
operationId: custom_fields_list
parameters:
- in: query
name: id
schema:
type: integer
- in: query
name: id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iendswith
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__istartswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- custom_fields
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCustomFieldList'
description: ''
post:
operationId: custom_fields_create
tags:
- custom_fields
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CustomFieldRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CustomFieldRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
/api/custom_fields/{id}/:
get:
operationId: custom_fields_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this custom field.
required: true
tags:
- custom_fields
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
put:
operationId: custom_fields_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this custom field.
required: true
tags:
- custom_fields
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CustomFieldRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CustomFieldRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
patch:
operationId: custom_fields_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this custom field.
required: true
tags:
- custom_fields
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCustomFieldRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedCustomFieldRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCustomFieldRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomField'
description: ''
delete:
operationId: custom_fields_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this custom field.
required: true
tags:
- custom_fields
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/document_types/:
get:
operationId: document_types_list
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: query
name: id
schema:
type: integer
- in: query
name: id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iendswith
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__istartswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- document_types
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDocumentTypeList'
description: ''
post:
operationId: document_types_create
tags:
- document_types
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentTypeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DocumentTypeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DocumentTypeRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentType'
description: ''
/api/document_types/{id}/:
get:
operationId: document_types_retrieve
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document type.
required: true
tags:
- document_types
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentType'
description: ''
put:
operationId: document_types_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document type.
required: true
tags:
- document_types
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentTypeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DocumentTypeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DocumentTypeRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentType'
description: ''
patch:
operationId: document_types_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document type.
required: true
tags:
- document_types
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDocumentTypeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedDocumentTypeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedDocumentTypeRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentType'
description: ''
delete:
operationId: document_types_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document type.
required: true
tags:
- document_types
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/documents/:
get:
operationId: documents_list
description: Pass a user object to serializer
parameters:
- in: query
name: added__date__gt
schema:
type: string
format: date
- in: query
name: added__date__gte
schema:
type: string
format: date
- in: query
name: added__date__lt
schema:
type: string
format: date
- in: query
name: added__date__lte
schema:
type: string
format: date
- in: query
name: added__day
schema:
type: number
- in: query
name: added__gt
schema:
type: string
format: date-time
- in: query
name: added__gte
schema:
type: string
format: date-time
- in: query
name: added__lt
schema:
type: string
format: date-time
- in: query
name: added__lte
schema:
type: string
format: date-time
- in: query
name: added__month
schema:
type: number
- in: query
name: added__year
schema:
type: number
- in: query
name: archive_serial_number
schema:
type: integer
- in: query
name: archive_serial_number__gt
schema:
type: integer
- in: query
name: archive_serial_number__gte
schema:
type: integer
- in: query
name: archive_serial_number__isnull
schema:
type: boolean
- in: query
name: archive_serial_number__lt
schema:
type: integer
- in: query
name: archive_serial_number__lte
schema:
type: integer
- in: query
name: checksum__icontains
schema:
type: string
- in: query
name: checksum__iendswith
schema:
type: string
- in: query
name: checksum__iexact
schema:
type: string
- in: query
name: checksum__istartswith
schema:
type: string
- in: query
name: content__icontains
schema:
type: string
- in: query
name: content__iendswith
schema:
type: string
- in: query
name: content__iexact
schema:
type: string
- in: query
name: content__istartswith
schema:
type: string
- in: query
name: correspondent__id
schema:
type: integer
- in: query
name: correspondent__id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: correspondent__id__none
schema:
type: integer
- in: query
name: correspondent__isnull
schema:
type: boolean
- in: query
name: correspondent__name__icontains
schema:
type: string
- in: query
name: correspondent__name__iendswith
schema:
type: string
- in: query
name: correspondent__name__iexact
schema:
type: string
- in: query
name: correspondent__name__istartswith
schema:
type: string
- in: query
name: created__date__gt
schema:
type: string
format: date
- in: query
name: created__date__gte
schema:
type: string
format: date
- in: query
name: created__date__lt
schema:
type: string
format: date
- in: query
name: created__date__lte
schema:
type: string
format: date
- in: query
name: created__day
schema:
type: number
- in: query
name: created__gt
schema:
type: string
format: date
- in: query
name: created__gte
schema:
type: string
format: date
- in: query
name: created__lt
schema:
type: string
format: date
- in: query
name: created__lte
schema:
type: string
format: date
- in: query
name: created__month
schema:
type: number
- in: query
name: created__year
schema:
type: number
- in: query
name: custom_field_query
schema:
type: string
minLength: 1
- in: query
name: custom_fields__icontains
schema:
type: string
minLength: 1
- in: query
name: custom_fields__id__all
schema:
type: integer
- in: query
name: custom_fields__id__in
schema:
type: integer
- in: query
name: custom_fields__id__none
schema:
type: integer
- in: query
name: document_type__id
schema:
type: integer
- in: query
name: document_type__id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: document_type__id__none
schema:
type: integer
- in: query
name: document_type__isnull
schema:
type: boolean
- in: query
name: document_type__name__icontains
schema:
type: string
- in: query
name: document_type__name__iendswith
schema:
type: string
- in: query
name: document_type__name__iexact
schema:
type: string
- in: query
name: document_type__name__istartswith
schema:
type: string
- in: query
name: fields
schema:
type: array
items:
type: string
- in: query
name: full_perms
schema:
type: boolean
- in: query
name: has_custom_fields
schema:
type: boolean
description: Has custom field
- in: query
name: id
schema:
type: integer
- in: query
name: id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: is_in_inbox
schema:
type: boolean
- in: query
name: is_tagged
schema:
type: boolean
description: Is tagged
- in: query
name: mime_type
schema:
type: string
- in: query
name: modified__date__gt
schema:
type: string
format: date
- in: query
name: modified__date__gte
schema:
type: string
format: date
- in: query
name: modified__date__lt
schema:
type: string
format: date
- in: query
name: modified__date__lte
schema:
type: string
format: date
- in: query
name: modified__day
schema:
type: number
- in: query
name: modified__gt
schema:
type: string
format: date-time
- in: query
name: modified__gte
schema:
type: string
format: date-time
- in: query
name: modified__lt
schema:
type: string
format: date-time
- in: query
name: modified__lte
schema:
type: string
format: date-time
- in: query
name: modified__month
schema:
type: number
- in: query
name: modified__year
schema:
type: number
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- in: query
name: original_filename__icontains
schema:
type: string
- in: query
name: original_filename__iendswith
schema:
type: string
- in: query
name: original_filename__iexact
schema:
type: string
- in: query
name: original_filename__istartswith
schema:
type: string
- in: query
name: owner__id
schema:
type: integer
- in: query
name: owner__id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: owner__id__none
schema:
type: integer
- in: query
name: owner__isnull
schema:
type: boolean
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: A search term.
schema:
type: string
- in: query
name: shared_by__id
schema:
type: boolean
- in: query
name: storage_path__id
schema:
type: integer
- in: query
name: storage_path__id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: storage_path__id__none
schema:
type: integer
- in: query
name: storage_path__isnull
schema:
type: boolean
- in: query
name: storage_path__name__icontains
schema:
type: string
- in: query
name: storage_path__name__iendswith
schema:
type: string
- in: query
name: storage_path__name__iexact
schema:
type: string
- in: query
name: storage_path__name__istartswith
schema:
type: string
- in: query
name: tags__id
schema:
type: integer
- in: query
name: tags__id__all
schema:
type: integer
- in: query
name: tags__id__in
schema:
type: integer
- in: query
name: tags__id__none
schema:
type: integer
- in: query
name: tags__name__icontains
schema:
type: string
- in: query
name: tags__name__iendswith
schema:
type: string
- in: query
name: tags__name__iexact
schema:
type: string
- in: query
name: tags__name__istartswith
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iendswith
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__istartswith
schema:
type: string
- in: query
name: title_content
schema:
type: string
minLength: 1
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDocumentList'
description: ''
/api/documents/{id}/:
get:
operationId: documents_retrieve
description: Retrieve a single document
parameters:
- in: query
name: fields
schema:
type: array
items:
type: string
- in: query
name: full_perms
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
description: ''
'400':
description: No response body
put:
operationId: documents_update
description: Pass a user object to serializer
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DocumentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DocumentRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
description: ''
patch:
operationId: documents_partial_update
description: Pass a user object to serializer
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDocumentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedDocumentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedDocumentRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
description: ''
delete:
operationId: documents_destroy
description: Pass a user object to serializer
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/documents/{id}/download/:
get:
operationId: documents_download_retrieve
description: Download the document
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
- in: query
name: original
schema:
type: boolean
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: string
format: binary
description: ''
/api/documents/{id}/email/:
post:
operationId: documents_email_create
description: Email the document to one or more recipients as an attachment.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/EmailRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/EmailRequestRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/EmailResponse'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
'500':
description: No response body
/api/documents/{id}/history/:
get:
operationId: documents_history_list
description: View the document history
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLogEntryList'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
/api/documents/{id}/metadata/:
get:
operationId: documents_metadata_retrieve
description: View the document metadata
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Metadata'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
/api/documents/{id}/notes/:
get:
operationId: documents_notes_list
description: View, add, or delete notes for the document
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
- in: query
name: id
schema:
type: integer
description: Note ID to delete (used only for DELETE requests)
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedNotesList'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
post:
operationId: documents_notes_create
description: View, add, or delete notes for the document
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
- in: query
name: id
schema:
type: integer
description: Note ID to delete (used only for DELETE requests)
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- documents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NoteCreateRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/NoteCreateRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/NoteCreateRequestRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedNotesList'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
delete:
operationId: documents_notes_destroy
description: View, add, or delete notes for the document
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
- in: query
name: id
schema:
type: integer
description: Note ID to delete (used only for DELETE requests)
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedNotesList'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
/api/documents/{id}/preview/:
get:
operationId: documents_preview_retrieve
description: View the document preview
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: string
format: binary
description: ''
/api/documents/{id}/share_links/:
get:
operationId: document_share_links
description: View share links for the document
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
created:
type: string
format: date-time
expiration:
type: string
format: date-time
slug:
type: string
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
/api/documents/{id}/suggestions/:
get:
operationId: documents_suggestions_retrieve
description: View suggestions for the document
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Suggestions'
description: ''
'400':
description: No response body
'403':
description: No response body
'404':
description: No response body
/api/documents/{id}/thumb/:
get:
operationId: documents_thumb_retrieve
description: View the document thumbnail
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this document.
required: true
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: string
format: binary
description: ''
/api/documents/bulk_download/:
post:
operationId: documents_bulk_download_create
tags:
- documents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDownloadRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDownload'
description: ''
/api/documents/bulk_edit/:
post:
operationId: bulk_edit
description: Perform a bulk edit operation on a list of documents
externalDocs:
description: Further documentation
url: https://docs.paperless-ngx.com/api/#bulk-editing
tags:
- documents
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkEditRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BulkEditDocumentsResult'
description: ''
/api/documents/next_asn/:
get:
operationId: documents_next_asn_retrieve
description: Get the next available Archive Serial Number (ASN) for a new document
tags:
- documents
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: integer
description: ''
/api/documents/post_document/:
post:
operationId: documents_post_document_create
description: Upload a document via the API
externalDocs:
description: Further documentation
url: https://docs.paperless-ngx.com/api/#file-uploads
tags:
- documents
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/PostDocumentRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: string
description: ''
/api/documents/selection_data/:
post:
operationId: documents_selection_data_create
description: Get selection data for the selected documents
tags:
- documents
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DocumentListRequest'
application/json:
schema:
$ref: '#/components/schemas/DocumentListRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SelectionData'
description: ''
/api/groups/:
get:
operationId: groups_list
parameters:
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iendswith
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__istartswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- groups
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedGroupList'
description: ''
post:
operationId: groups_create
tags:
- groups
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GroupRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GroupRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: ''
/api/groups/{id}/:
get:
operationId: groups_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this group.
required: true
tags:
- groups
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: ''
put:
operationId: groups_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this group.
required: true
tags:
- groups
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GroupRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GroupRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GroupRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: ''
patch:
operationId: groups_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this group.
required: true
tags:
- groups
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGroupRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGroupRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGroupRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: ''
delete:
operationId: groups_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this group.
required: true
tags:
- groups
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/logs/:
get:
operationId: logs_list
description: Logs view
tags:
- logs
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: string
description: ''
/api/logs/{id}/:
get:
operationId: retrieve_log
description: Single log view
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- logs
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: string
description: ''
'404':
description: No response body
/api/mail_accounts/:
get:
operationId: mail_accounts_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- mail_accounts
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMailAccountList'
description: ''
post:
operationId: mail_accounts_create
tags:
- mail_accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccountRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MailAccountRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MailAccountRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccount'
description: ''
/api/mail_accounts/{id}/:
get:
operationId: mail_accounts_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail account.
required: true
tags:
- mail_accounts
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccount'
description: ''
put:
operationId: mail_accounts_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail account.
required: true
tags:
- mail_accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccountRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MailAccountRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MailAccountRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccount'
description: ''
patch:
operationId: mail_accounts_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail account.
required: true
tags:
- mail_accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedMailAccountRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedMailAccountRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedMailAccountRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccount'
description: ''
delete:
operationId: mail_accounts_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail account.
required: true
tags:
- mail_accounts
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/mail_accounts/{id}/process/:
post:
operationId: mail_account_process
description: Manually process the selected mail account for new messages.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail account.
required: true
tags:
- mail_accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccountRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MailAccountRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MailAccountRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccountProcessResponse'
description: ''
'404':
description: No response body
/api/mail_accounts/test/:
post:
operationId: mail_account_test
description: Test a mail account
tags:
- mail_accounts
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccountRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MailAccountRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MailAccountRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailAccountTestResponse'
description: ''
'400':
content:
application/json:
schema:
type: string
description: ''
/api/mail_rules/:
get:
operationId: mail_rules_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- mail_rules
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMailRuleList'
description: ''
post:
operationId: mail_rules_create
tags:
- mail_rules
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MailRuleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MailRuleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MailRuleRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MailRule'
description: ''
/api/mail_rules/{id}/:
get:
operationId: mail_rules_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail rule.
required: true
tags:
- mail_rules
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailRule'
description: ''
put:
operationId: mail_rules_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail rule.
required: true
tags:
- mail_rules
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MailRuleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MailRuleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MailRuleRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailRule'
description: ''
patch:
operationId: mail_rules_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail rule.
required: true
tags:
- mail_rules
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedMailRuleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedMailRuleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedMailRuleRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MailRule'
description: ''
delete:
operationId: mail_rules_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this mail rule.
required: true
tags:
- mail_rules
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/oauth/callback/:
get:
operationId: oauth_callback_retrieve
description: Callback view for OAuth2 authentication
tags:
- oauth
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/profile/:
get:
operationId: profile_retrieve
description: User profile view, only available when logged in
tags:
- profile
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
description: ''
patch:
operationId: profile_partial_update
description: User profile view, only available when logged in
tags:
- profile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedProfileRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProfileRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProfileRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
description: ''
/api/profile/disconnect_social_account/:
post:
operationId: profile_disconnect_social_account_create
description: Disconnects a social account provider from the user account
tags:
- profile
requestBody:
content:
application/json:
schema:
type: object
properties:
id:
type: integer
required:
- id
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: integer
description: ''
'400':
content:
application/json:
schema:
type: string
description: ''
/api/profile/generate_auth_token/:
post:
operationId: profile_generate_auth_token_create
description: |-
Generates (or re-generates) an auth token, requires a logged in user
unlike the default DRF endpoint
tags:
- profile
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: string
description: ''
/api/profile/social_account_providers/:
get:
operationId: profile_social_account_providers_retrieve
description: List of social account providers
tags:
- profile
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/profile/totp/:
get:
operationId: profile_totp_retrieve
description: Generates a new TOTP secret and returns the URL and SVG
tags:
- profile
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
post:
operationId: profile_totp_create
description: Validates a TOTP code and activates the TOTP authenticator
tags:
- profile
requestBody:
content:
application/json:
schema:
type: object
properties:
secret:
type: string
code:
type: string
required:
- secret
- code
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
delete:
operationId: profile_totp_destroy
description: Deactivates the TOTP authenticator
tags:
- profile
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: boolean
description: ''
'404':
content:
application/json:
schema:
type: string
description: ''
/api/remote_version/:
get:
operationId: remote_version_retrieve
description: Get the current version of the Paperless-NGX server
tags:
- remote_version
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
- {}
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/saved_views/:
get:
operationId: saved_views_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- saved_views
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSavedViewList'
description: ''
post:
operationId: saved_views_create
tags:
- saved_views
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SavedViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SavedViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/SavedViewRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/SavedView'
description: ''
/api/saved_views/{id}/:
get:
operationId: saved_views_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this saved view.
required: true
tags:
- saved_views
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SavedView'
description: ''
put:
operationId: saved_views_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this saved view.
required: true
tags:
- saved_views
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SavedViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/SavedViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/SavedViewRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SavedView'
description: ''
patch:
operationId: saved_views_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this saved view.
required: true
tags:
- saved_views
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedSavedViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedSavedViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedSavedViewRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SavedView'
description: ''
delete:
operationId: saved_views_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this saved view.
required: true
tags:
- saved_views
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/search/:
get:
operationId: search_retrieve
description: Global search
parameters:
- in: query
name: db_only
schema:
type: boolean
description: Search only the database
- in: query
name: query
schema:
type: string
description: Query to search for
required: true
tags:
- search
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
description: ''
/api/search/autocomplete/:
get:
operationId: search_autocomplete_list
description: Get a list of all available tags
parameters:
- in: query
name: limit
schema:
type: integer
description: Number of completions to return
- in: query
name: term
schema:
type: string
description: Term to search for
tags:
- search
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: string
description: ''
/api/share_links/:
get:
operationId: share_links_list
parameters:
- in: query
name: created__date__gt
schema:
type: string
format: date
- in: query
name: created__date__gte
schema:
type: string
format: date
- in: query
name: created__date__lt
schema:
type: string
format: date
- in: query
name: created__date__lte
schema:
type: string
format: date
- in: query
name: created__day
schema:
type: number
- in: query
name: created__gt
schema:
type: string
format: date-time
- in: query
name: created__gte
schema:
type: string
format: date-time
- in: query
name: created__lt
schema:
type: string
format: date-time
- in: query
name: created__lte
schema:
type: string
format: date-time
- in: query
name: created__month
schema:
type: number
- in: query
name: created__year
schema:
type: number
- in: query
name: expiration__date__gt
schema:
type: string
format: date
- in: query
name: expiration__date__gte
schema:
type: string
format: date
- in: query
name: expiration__date__lt
schema:
type: string
format: date
- in: query
name: expiration__date__lte
schema:
type: string
format: date
- in: query
name: expiration__day
schema:
type: number
- in: query
name: expiration__gt
schema:
type: string
format: date-time
- in: query
name: expiration__gte
schema:
type: string
format: date-time
- in: query
name: expiration__lt
schema:
type: string
format: date-time
- in: query
name: expiration__lte
schema:
type: string
format: date-time
- in: query
name: expiration__month
schema:
type: number
- in: query
name: expiration__year
schema:
type: number
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- share_links
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedShareLinkList'
description: ''
post:
operationId: share_links_create
tags:
- share_links
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShareLinkRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ShareLinkRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ShareLinkRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ShareLink'
description: ''
/api/share_links/{id}/:
get:
operationId: share_links_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this share link.
required: true
tags:
- share_links
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ShareLink'
description: ''
put:
operationId: share_links_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this share link.
required: true
tags:
- share_links
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShareLinkRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ShareLinkRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ShareLinkRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ShareLink'
description: ''
patch:
operationId: share_links_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this share link.
required: true
tags:
- share_links
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedShareLinkRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedShareLinkRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedShareLinkRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ShareLink'
description: ''
delete:
operationId: share_links_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this share link.
required: true
tags:
- share_links
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/statistics/:
get:
operationId: statistics_retrieve
description: Get statistics for the current user
tags:
- statistics
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: object
additionalProperties: {}
description: ''
/api/status/:
get:
operationId: status_retrieve
description: Get the current system status of the Paperless-NGX server
tags:
- status
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SystemStatus'
description: ''
/api/storage_paths/:
get:
operationId: storage_paths_list
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: query
name: id
schema:
type: integer
- in: query
name: id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iendswith
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__istartswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: path__icontains
schema:
type: string
- in: query
name: path__iendswith
schema:
type: string
- in: query
name: path__iexact
schema:
type: string
- in: query
name: path__istartswith
schema:
type: string
tags:
- storage_paths
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStoragePathList'
description: ''
post:
operationId: storage_paths_create
tags:
- storage_paths
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePathRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/StoragePathRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/StoragePathRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePath'
description: ''
/api/storage_paths/{id}/:
get:
operationId: storage_paths_retrieve
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this storage path.
required: true
tags:
- storage_paths
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePath'
description: ''
put:
operationId: storage_paths_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this storage path.
required: true
tags:
- storage_paths
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePathRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/StoragePathRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/StoragePathRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePath'
description: ''
patch:
operationId: storage_paths_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this storage path.
required: true
tags:
- storage_paths
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedStoragePathRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedStoragePathRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedStoragePathRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePath'
description: ''
delete:
operationId: storage_paths_destroy
description: |-
When a storage path is deleted, see if documents
using it require a rename/move
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this storage path.
required: true
tags:
- storage_paths
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/storage_paths/test/:
post:
operationId: storage_paths_test_create
description: Test storage path against a document
tags:
- storage_paths
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePathRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/StoragePathRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/StoragePathRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StoragePath'
description: ''
/api/tags/:
get:
operationId: tags_list
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: query
name: id
schema:
type: integer
- in: query
name: id__in
schema:
type: array
items:
type: integer
description: Multiple values may be separated by commas.
explode: false
style: form
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iendswith
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__istartswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- tags
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTagList'
description: ''
post:
operationId: tags_create
tags:
- tags
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TagRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
description: ''
/api/tags/{id}/:
get:
operationId: tags_retrieve
parameters:
- in: query
name: full_perms
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this tag.
required: true
tags:
- tags
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
description: ''
put:
operationId: tags_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this tag.
required: true
tags:
- tags
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TagRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
description: ''
patch:
operationId: tags_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this tag.
required: true
tags:
- tags
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedTagRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
description: ''
delete:
operationId: tags_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this tag.
required: true
tags:
- tags
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/tasks/:
get:
operationId: tasks_list
parameters:
- in: query
name: acknowledged
schema:
type: boolean
description: Acknowledged
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- in: query
name: status
schema:
type: string
title: Task State
enum:
- FAILURE
- PENDING
- RECEIVED
- RETRY
- REVOKED
- STARTED
- SUCCESS
description: |-
Current state of the task being run
* `FAILURE` - FAILURE
* `PENDING` - PENDING
* `RECEIVED` - RECEIVED
* `RETRY` - RETRY
* `REVOKED` - REVOKED
* `STARTED` - STARTED
* `SUCCESS` - SUCCESS
- in: query
name: task_name
schema:
type: string
nullable: true
enum:
- check_sanity
- consume_file
- index_optimize
- train_classifier
description: |-
Name of the task that was run
* `consume_file` - Consume File
* `train_classifier` - Train Classifier
* `check_sanity` - Check Sanity
* `index_optimize` - Index Optimize
- in: query
name: type
schema:
type: string
title: Task Type
enum:
- auto_task
- manual_task
- scheduled_task
description: |-
The type of task that was run
* `auto_task` - Auto Task
* `scheduled_task` - Scheduled Task
* `manual_task` - Manual Task
tags:
- tasks
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TasksView'
description: ''
/api/tasks/{id}/:
get:
operationId: tasks_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this paperless task.
required: true
tags:
- tasks
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TasksView'
description: ''
/api/tasks/acknowledge/:
post:
operationId: acknowledge_tasks
description: Acknowledge a list of tasks
tags:
- tasks
requestBody:
content:
application/json:
schema:
type: object
properties:
tasks:
type: array
items:
type: integer
required:
- tasks
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AcknowledgeTasks'
description: ''
'400':
description: No response body
/api/tasks/run/:
post:
operationId: tasks_run_create
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TasksViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TasksViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TasksViewRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TasksView'
description: ''
/api/token/:
post:
operationId: token_create
tags:
- token
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PaperlessAuthTokenRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PaperlessAuthTokenRequest'
application/json:
schema:
$ref: '#/components/schemas/PaperlessAuthTokenRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaperlessAuthToken'
description: ''
/api/trash/:
get:
operationId: trash_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- trash
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
post:
operationId: trash_create
tags:
- trash
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TrashRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TrashRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TrashRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/ui_settings/:
get:
operationId: ui_settings_retrieve
tags:
- ui_settings
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UiSettingsView'
description: ''
post:
operationId: ui_settings_create
tags:
- ui_settings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UiSettingsViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UiSettingsViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UiSettingsViewRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UiSettingsView'
description: ''
/api/users/:
get:
operationId: users_list
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: username__icontains
schema:
type: string
- in: query
name: username__iendswith
schema:
type: string
- in: query
name: username__iexact
schema:
type: string
- in: query
name: username__istartswith
schema:
type: string
tags:
- users
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserList'
description: ''
post:
operationId: users_create
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: ''
/api/users/{id}/:
get:
operationId: users_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: ''
put:
operationId: users_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: ''
patch:
operationId: users_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: ''
delete:
operationId: users_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/users/{id}/deactivate_totp/:
post:
operationId: users_deactivate_totp_create
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
type: boolean
description: ''
'404':
content:
application/json:
schema:
type: string
description: ''
/api/workflow_actions/:
get:
operationId: workflow_actions_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- workflow_actions
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedWorkflowActionList'
description: ''
post:
operationId: workflow_actions_create
tags:
- workflow_actions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowActionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkflowActionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkflowActionRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowAction'
description: ''
/api/workflow_actions/{id}/:
get:
operationId: workflow_actions_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow action.
required: true
tags:
- workflow_actions
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowAction'
description: ''
put:
operationId: workflow_actions_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow action.
required: true
tags:
- workflow_actions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowActionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkflowActionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkflowActionRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowAction'
description: ''
patch:
operationId: workflow_actions_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow action.
required: true
tags:
- workflow_actions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWorkflowActionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedWorkflowActionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedWorkflowActionRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowAction'
description: ''
delete:
operationId: workflow_actions_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow action.
required: true
tags:
- workflow_actions
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/workflow_triggers/:
get:
operationId: workflow_triggers_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- workflow_triggers
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedWorkflowTriggerList'
description: ''
post:
operationId: workflow_triggers_create
tags:
- workflow_triggers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTriggerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkflowTriggerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkflowTriggerRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTrigger'
description: ''
/api/workflow_triggers/{id}/:
get:
operationId: workflow_triggers_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow trigger.
required: true
tags:
- workflow_triggers
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTrigger'
description: ''
put:
operationId: workflow_triggers_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow trigger.
required: true
tags:
- workflow_triggers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTriggerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkflowTriggerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkflowTriggerRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTrigger'
description: ''
patch:
operationId: workflow_triggers_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow trigger.
required: true
tags:
- workflow_triggers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWorkflowTriggerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedWorkflowTriggerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedWorkflowTriggerRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowTrigger'
description: ''
delete:
operationId: workflow_triggers_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow trigger.
required: true
tags:
- workflow_triggers
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
/api/workflows/:
get:
operationId: workflows_list
parameters:
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- workflows
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedWorkflowList'
description: ''
post:
operationId: workflows_create
tags:
- workflows
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkflowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkflowRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
description: ''
/api/workflows/{id}/:
get:
operationId: workflows_retrieve
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow.
required: true
tags:
- workflows
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
description: ''
put:
operationId: workflows_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow.
required: true
tags:
- workflows
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkflowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkflowRequest'
required: true
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
description: ''
patch:
operationId: workflows_partial_update
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow.
required: true
tags:
- workflows
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWorkflowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedWorkflowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedWorkflowRequest'
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
description: ''
delete:
operationId: workflows_destroy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this workflow.
required: true
tags:
- workflows
security:
- PaperelessBasicAuthentication: []
- tokenAuth: []
- cookieAuth: []
responses:
'204':
description: No response body
components:
schemas:
AccountTypeEnum:
enum:
- 1
- 2
- 3
type: integer
description: |-
* `1` - IMAP
* `2` - Gmail OAuth
* `3` - Outlook OAuth
AcknowledgeTasks:
type: object
properties:
result:
type: integer
required:
- result
Actor:
type: object
properties:
id:
type: integer
username:
type: string
required:
- id
- username
ApplicationConfiguration:
type: object
properties:
id:
type: integer
readOnly: true
user_args:
nullable: true
barcode_tag_mapping:
nullable: true
output_type:
nullable: true
title: Sets the output PDF type
oneOf:
- $ref: '#/components/schemas/OutputTypeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
pages:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Do OCR from page 1 to this value
language:
type: string
nullable: true
title: Do OCR using these languages
maxLength: 32
mode:
nullable: true
title: Sets the OCR mode
oneOf:
- $ref: '#/components/schemas/ModeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
skip_archive_file:
nullable: true
title: Controls the generation of an archive file
oneOf:
- $ref: '#/components/schemas/SkipArchiveFileEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
image_dpi:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets image DPI fallback value
unpaper_clean:
nullable: true
title: Controls the unpaper cleaning
oneOf:
- $ref: '#/components/schemas/UnpaperCleanEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
deskew:
type: boolean
nullable: true
title: Enables deskew
rotate_pages:
type: boolean
nullable: true
title: Enables page rotation
rotate_pages_threshold:
type: number
format: double
minimum: 0.0
nullable: true
title: Sets the threshold for rotation of pages
max_image_pixels:
type: number
format: double
minimum: 0.0
nullable: true
title: Sets the maximum image size for decompression
color_conversion_strategy:
nullable: true
title: Sets the Ghostscript color conversion strategy
oneOf:
- $ref: '#/components/schemas/ColorConversionStrategyEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
app_title:
type: string
nullable: true
title: Application title
maxLength: 48
app_logo:
type: string
format: uri
nullable: true
title: Application logo
pattern: (?:jpg|png|gif|svg)$
barcodes_enabled:
type: boolean
nullable: true
title: Enables barcode scanning
barcode_enable_tiff_support:
type: boolean
nullable: true
title: Enables barcode TIFF support
barcode_string:
type: string
nullable: true
title: Sets the barcode string
maxLength: 32
barcode_retain_split_pages:
type: boolean
nullable: true
title: Retains split pages
barcode_enable_asn:
type: boolean
nullable: true
title: Enables ASN barcode
barcode_asn_prefix:
type: string
nullable: true
title: Sets the ASN barcode prefix
maxLength: 32
barcode_upscale:
type: number
format: double
minimum: 1.0
nullable: true
title: Sets the barcode upscale factor
barcode_dpi:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets the barcode DPI
barcode_max_pages:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets the maximum pages for barcode
barcode_enable_tag:
type: boolean
nullable: true
title: Enables tag barcode
required:
- barcode_tag_mapping
- id
- user_args
ApplicationConfigurationRequest:
type: object
properties:
user_args:
nullable: true
barcode_tag_mapping:
nullable: true
output_type:
nullable: true
title: Sets the output PDF type
oneOf:
- $ref: '#/components/schemas/OutputTypeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
pages:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Do OCR from page 1 to this value
language:
type: string
nullable: true
title: Do OCR using these languages
maxLength: 32
mode:
nullable: true
title: Sets the OCR mode
oneOf:
- $ref: '#/components/schemas/ModeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
skip_archive_file:
nullable: true
title: Controls the generation of an archive file
oneOf:
- $ref: '#/components/schemas/SkipArchiveFileEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
image_dpi:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets image DPI fallback value
unpaper_clean:
nullable: true
title: Controls the unpaper cleaning
oneOf:
- $ref: '#/components/schemas/UnpaperCleanEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
deskew:
type: boolean
nullable: true
title: Enables deskew
rotate_pages:
type: boolean
nullable: true
title: Enables page rotation
rotate_pages_threshold:
type: number
format: double
minimum: 0.0
nullable: true
title: Sets the threshold for rotation of pages
max_image_pixels:
type: number
format: double
minimum: 0.0
nullable: true
title: Sets the maximum image size for decompression
color_conversion_strategy:
nullable: true
title: Sets the Ghostscript color conversion strategy
oneOf:
- $ref: '#/components/schemas/ColorConversionStrategyEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
app_title:
type: string
nullable: true
title: Application title
maxLength: 48
app_logo:
type: string
format: binary
nullable: true
title: Application logo
pattern: (?:jpg|png|gif|svg)$
barcodes_enabled:
type: boolean
nullable: true
title: Enables barcode scanning
barcode_enable_tiff_support:
type: boolean
nullable: true
title: Enables barcode TIFF support
barcode_string:
type: string
nullable: true
title: Sets the barcode string
maxLength: 32
barcode_retain_split_pages:
type: boolean
nullable: true
title: Retains split pages
barcode_enable_asn:
type: boolean
nullable: true
title: Enables ASN barcode
barcode_asn_prefix:
type: string
nullable: true
title: Sets the ASN barcode prefix
maxLength: 32
barcode_upscale:
type: number
format: double
minimum: 1.0
nullable: true
title: Sets the barcode upscale factor
barcode_dpi:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets the barcode DPI
barcode_max_pages:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets the maximum pages for barcode
barcode_enable_tag:
type: boolean
nullable: true
title: Enables tag barcode
required:
- barcode_tag_mapping
- user_args
AssignCorrespondentFromEnum:
enum:
- 1
- 2
- 3
- 4
type: integer
description: |-
* `1` - Do not assign a correspondent
* `2` - Use mail address
* `3` - Use name (or mail address if not available)
* `4` - Use correspondent selected below
AssignTitleFromEnum:
enum:
- 1
- 2
- 3
type: integer
description: |-
* `1` - Use subject as title
* `2` - Use attachment filename as title
* `3` - Do not assign title from rule
AttachmentTypeEnum:
enum:
- 1
- 2
type: integer
description: |-
* `1` - Only process attachments.
* `2` - Process all files, including 'inline' attachments.
BasicUser:
type: object
properties:
id:
type: integer
readOnly: true
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
required:
- id
- username
BasicUserRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
required:
- username
BlankEnum:
enum:
- ''
BulkDownload:
type: object
properties:
content:
allOf:
- $ref: '#/components/schemas/ContentEnum'
default: archive
compression:
allOf:
- $ref: '#/components/schemas/CompressionEnum'
default: none
follow_formatting:
type: boolean
default: false
BulkDownloadRequest:
type: object
properties:
documents:
type: array
items:
type: integer
writeOnly: true
content:
allOf:
- $ref: '#/components/schemas/ContentEnum'
default: archive
compression:
allOf:
- $ref: '#/components/schemas/CompressionEnum'
default: none
follow_formatting:
type: boolean
default: false
required:
- documents
BulkEditDocumentsResult:
type: object
properties:
result:
type: string
required:
- result
BulkEditObjectsRequest:
type: object
properties:
objects:
type: array
items:
type: integer
writeOnly: true
object_type:
allOf:
- $ref: '#/components/schemas/ObjectTypeEnum'
writeOnly: true
operation:
allOf:
- $ref: '#/components/schemas/OperationEnum'
writeOnly: true
owner:
type: integer
nullable: true
permissions:
type: object
additionalProperties: {}
writeOnly: true
title: Set permissions
merge:
type: boolean
writeOnly: true
default: false
required:
- object_type
- objects
- operation
BulkEditRequest:
type: object
properties:
documents:
type: array
items:
type: integer
writeOnly: true
method:
allOf:
- $ref: '#/components/schemas/MethodEnum'
writeOnly: true
parameters:
type: object
additionalProperties: {}
writeOnly: true
default: {}
required:
- documents
- method
BulkEditResult:
type: object
properties:
result:
type: string
required:
- result
Classifier:
type: object
properties:
status:
type: string
error:
type: string
last_trained:
type: string
format: date-time
required:
- error
- last_trained
- status
ColorConversionStrategyEnum:
enum:
- LeaveColorUnchanged
- RGB
- UseDeviceIndependentColor
- Gray
- CMYK
type: string
description: |-
* `LeaveColorUnchanged` - LeaveColorUnchanged
* `RGB` - RGB
* `UseDeviceIndependentColor` - UseDeviceIndependentColor
* `Gray` - Gray
* `CMYK` - CMYK
CompressionEnum:
enum:
- none
- deflated
- bzip2
- lzma
type: string
description: |-
* `none` - none
* `deflated` - deflated
* `bzip2` - bzip2
* `lzma` - lzma
ConsumptionScopeEnum:
enum:
- 1
- 2
- 3
type: integer
description: |-
* `1` - Only process attachments.
* `2` - Process full Mail (with embedded attachments in file) as .eml
* `3` - Process full Mail (with embedded attachments in file) as .eml + process attachments as separate documents
ContentEnum:
enum:
- archive
- originals
- both
type: string
description: |-
* `archive` - archive
* `originals` - originals
* `both` - both
Correspondent:
type: object
properties:
id:
type: integer
readOnly: true
slug:
type: string
readOnly: true
name:
type: string
maxLength: 128
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
document_count:
type: integer
readOnly: true
last_correspondence:
type: string
format: date
readOnly: true
owner:
type: integer
nullable: true
permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
readOnly: true
user_can_change:
type: boolean
readOnly: true
required:
- document_count
- id
- last_correspondence
- name
- permissions
- slug
- user_can_change
CorrespondentCounts:
type: object
properties:
id:
type: integer
document_count:
type: integer
required:
- document_count
- id
CorrespondentRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
required:
- name
CustomField:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 128
data_type:
$ref: '#/components/schemas/DataTypeEnum'
extra_data:
nullable: true
description: Extra data for the custom field, such as select options
document_count:
type: integer
readOnly: true
required:
- data_type
- document_count
- id
- name
CustomFieldCounts:
type: object
properties:
id:
type: integer
document_count:
type: integer
required:
- document_count
- id
CustomFieldInstance:
type: object
properties:
value:
oneOf:
- type: string
- type: integer
- type: number
format: double
- type: object
additionalProperties: {}
nullable: true
description: |-
Given the *incoming* primitive data, return the value for this field
that should be validated and transformed to a native value.
field:
type: integer
required:
- field
- value
CustomFieldInstanceRequest:
type: object
properties:
value:
oneOf:
- type: string
- type: integer
- type: number
format: double
- type: object
additionalProperties: {}
nullable: true
description: |-
Given the *incoming* primitive data, return the value for this field
that should be validated and transformed to a native value.
field:
type: integer
required:
- field
- value
CustomFieldRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
data_type:
$ref: '#/components/schemas/DataTypeEnum'
extra_data:
nullable: true
description: Extra data for the custom field, such as select options
required:
- data_type
- name
DataTypeEnum:
enum:
- string
- url
- date
- boolean
- integer
- float
- monetary
- documentlink
- select
type: string
description: |-
* `string` - string
* `url` - url
* `date` - date
* `boolean` - boolean
* `integer` - integer
* `float` - float
* `monetary` - monetary
* `documentlink` - documentlink
* `select` - select
Database:
type: object
properties:
type:
type: string
url:
type: string
status:
type: string
error:
type: string
migration_status:
$ref: '#/components/schemas/MigrationStatus'
required:
- error
- migration_status
- status
- type
- url
DisplayModeEnum:
enum:
- table
- smallCards
- largeCards
type: string
description: |-
* `table` - Table
* `smallCards` - Small Cards
* `largeCards` - Large Cards
Document:
type: object
description: Adds update nested feature
properties:
id:
type: integer
readOnly: true
correspondent:
type: integer
nullable: true
document_type:
type: integer
nullable: true
storage_path:
type: integer
nullable: true
title:
type: string
maxLength: 128
content:
type: string
description: The raw, text-only data of the document. This field is primarily
used for searching.
tags:
type: array
items:
type: integer
created:
type: string
format: date
created_date:
type: string
format: date
deprecated: true
modified:
type: string
format: date-time
readOnly: true
added:
type: string
format: date-time
readOnly: true
deleted_at:
type: string
format: date-time
nullable: true
archive_serial_number:
type: integer
maximum: 4294967295
minimum: 0
format: int64
nullable: true
description: The position of this document in your physical document archive.
original_file_name:
type: string
nullable: true
readOnly: true
archived_file_name:
type: string
nullable: true
readOnly: true
owner:
type: integer
nullable: true
permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
readOnly: true
user_can_change:
type: boolean
readOnly: true
is_shared_by_requester:
type: boolean
readOnly: true
notes:
type: array
items:
$ref: '#/components/schemas/Notes'
readOnly: true
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldInstance'
page_count:
type: integer
nullable: true
readOnly: true
mime_type:
type: string
readOnly: true
required:
- added
- archived_file_name
- correspondent
- document_type
- id
- is_shared_by_requester
- mime_type
- modified
- notes
- original_file_name
- page_count
- permissions
- storage_path
- tags
- user_can_change
DocumentListRequest:
type: object
properties:
documents:
type: array
items:
type: integer
writeOnly: true
required:
- documents
DocumentRequest:
type: object
description: Adds update nested feature
properties:
correspondent:
type: integer
nullable: true
document_type:
type: integer
nullable: true
storage_path:
type: integer
nullable: true
title:
type: string
maxLength: 128
content:
type: string
description: The raw, text-only data of the document. This field is primarily
used for searching.
tags:
type: array
items:
type: integer
created:
type: string
format: date
created_date:
type: string
format: date
deprecated: true
deleted_at:
type: string
format: date-time
nullable: true
archive_serial_number:
type: integer
maximum: 4294967295
minimum: 0
format: int64
nullable: true
description: The position of this document in your physical document archive.
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldInstanceRequest'
remove_inbox_tags:
type: boolean
writeOnly: true
nullable: true
default: false
required:
- correspondent
- document_type
- storage_path
- tags
DocumentType:
type: object
properties:
id:
type: integer
readOnly: true
slug:
type: string
readOnly: true
name:
type: string
maxLength: 128
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
document_count:
type: integer
readOnly: true
owner:
type: integer
nullable: true
permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
readOnly: true
user_can_change:
type: boolean
readOnly: true
required:
- document_count
- id
- name
- permissions
- slug
- user_can_change
DocumentTypeCounts:
type: object
properties:
id:
type: integer
document_count:
type: integer
required:
- document_count
- id
DocumentTypeRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
required:
- name
EmailRequestRequest:
type: object
properties:
addresses:
type: string
minLength: 1
subject:
type: string
minLength: 1
message:
type: string
minLength: 1
use_archive_version:
type: boolean
default: true
required:
- addresses
- message
- subject
EmailResponse:
type: object
properties:
message:
type: string
required:
- message
FileVersionEnum:
enum:
- archive
- original
type: string
description: |-
* `archive` - Archive
* `original` - Original
Group:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 150
permissions:
type: array
items:
type: string
required:
- id
- name
- permissions
GroupRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 150
permissions:
type: array
items:
type: string
minLength: 1
required:
- name
- permissions
ImapSecurityEnum:
enum:
- 1
- 2
- 3
type: integer
description: |-
* `1` - No encryption
* `2` - Use SSL
* `3` - Use STARTTLS
Index:
type: object
properties:
status:
type: string
error:
type: string
last_modified:
type: string
format: date-time
required:
- error
- last_modified
- status
LogEntry:
type: object
properties:
id:
type: integer
timestamp:
type: string
format: date-time
action:
type: string
changes:
type: object
additionalProperties: {}
actor:
$ref: '#/components/schemas/Actor'
required:
- action
- actor
- changes
- id
- timestamp
MailAccount:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 256
imap_server:
type: string
maxLength: 256
imap_port:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
nullable: true
description: This is usually 143 for unencrypted and STARTTLS connections,
and 993 for SSL connections.
imap_security:
allOf:
- $ref: '#/components/schemas/ImapSecurityEnum'
minimum: 0
maximum: 9223372036854775807
username:
type: string
maxLength: 256
password:
type: string
character_set:
type: string
description: The character set to use when communicating with the mail server,
such as 'UTF-8' or 'US-ASCII'.
maxLength: 256
is_token:
type: boolean
title: Is token authentication
owner:
type: integer
nullable: true
user_can_change:
type: boolean
readOnly: true
account_type:
allOf:
- $ref: '#/components/schemas/AccountTypeEnum'
minimum: 0
maximum: 9223372036854775807
expiration:
type: string
format: date-time
nullable: true
description: 'The expiration date of the refresh token. '
required:
- id
- imap_server
- name
- password
- user_can_change
- username
MailAccountProcessResponse:
type: object
properties:
result:
type: string
default: OK
MailAccountRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
imap_server:
type: string
minLength: 1
maxLength: 256
imap_port:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
nullable: true
description: This is usually 143 for unencrypted and STARTTLS connections,
and 993 for SSL connections.
imap_security:
allOf:
- $ref: '#/components/schemas/ImapSecurityEnum'
minimum: 0
maximum: 9223372036854775807
username:
type: string
minLength: 1
maxLength: 256
password:
type: string
minLength: 1
character_set:
type: string
minLength: 1
description: The character set to use when communicating with the mail server,
such as 'UTF-8' or 'US-ASCII'.
maxLength: 256
is_token:
type: boolean
title: Is token authentication
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
account_type:
allOf:
- $ref: '#/components/schemas/AccountTypeEnum'
minimum: 0
maximum: 9223372036854775807
expiration:
type: string
format: date-time
nullable: true
description: 'The expiration date of the refresh token. '
required:
- imap_server
- name
- password
- username
MailAccountTestResponse:
type: object
properties:
success:
type: boolean
required:
- success
MailRule:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 256
account:
type: integer
enabled:
type: boolean
folder:
type: string
description: Subfolders must be separated by a delimiter, often a dot ('.')
or slash ('/'), but it varies by mail server.
maxLength: 256
filter_from:
type: string
nullable: true
maxLength: 256
filter_to:
type: string
nullable: true
maxLength: 256
filter_subject:
type: string
nullable: true
maxLength: 256
filter_body:
type: string
nullable: true
maxLength: 256
filter_attachment_filename_include:
type: string
nullable: true
title: Filter attachment filename inclusive
description: Only consume documents which entirely match this filename if
specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
filter_attachment_filename_exclude:
type: string
nullable: true
title: Filter attachment filename exclusive
description: Do not consume documents which entirely match this filename
if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
maximum_age:
type: integer
maximum: 9223372036854775807
minimum: 0
format: int64
description: Specified in days.
action:
allOf:
- $ref: '#/components/schemas/MailRuleActionEnum'
minimum: 0
maximum: 9223372036854775807
action_parameter:
type: string
nullable: true
default: ''
assign_title_from:
allOf:
- $ref: '#/components/schemas/AssignTitleFromEnum'
minimum: 0
maximum: 9223372036854775807
assign_tags:
type: array
items:
type: integer
nullable: true
assign_correspondent_from:
allOf:
- $ref: '#/components/schemas/AssignCorrespondentFromEnum'
minimum: 0
maximum: 9223372036854775807
assign_correspondent:
type: integer
nullable: true
assign_document_type:
type: integer
nullable: true
assign_owner_from_rule:
type: boolean
title: Assign the rule owner to documents
order:
type: integer
attachment_type:
allOf:
- $ref: '#/components/schemas/AttachmentTypeEnum'
description: |-
Inline attachments include embedded images, so it's best to combine this option with a filename filter.
* `1` - Only process attachments.
* `2` - Process all files, including 'inline' attachments.
minimum: 0
maximum: 9223372036854775807
consumption_scope:
allOf:
- $ref: '#/components/schemas/ConsumptionScopeEnum'
minimum: 0
maximum: 9223372036854775807
pdf_layout:
allOf:
- $ref: '#/components/schemas/PdfLayoutEnum'
minimum: 0
maximum: 9223372036854775807
owner:
type: integer
nullable: true
user_can_change:
type: boolean
readOnly: true
required:
- account
- id
- name
- user_can_change
MailRuleActionEnum:
enum:
- 1
- 2
- 3
- 4
- 5
type: integer
description: |-
* `1` - Delete
* `2` - Move to specified folder
* `3` - Mark as read, don't process read mails
* `4` - Flag the mail, don't process flagged mails
* `5` - Tag the mail with specified tag, don't process tagged mails
MailRuleRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
account:
type: integer
enabled:
type: boolean
folder:
type: string
minLength: 1
description: Subfolders must be separated by a delimiter, often a dot ('.')
or slash ('/'), but it varies by mail server.
maxLength: 256
filter_from:
type: string
nullable: true
maxLength: 256
filter_to:
type: string
nullable: true
maxLength: 256
filter_subject:
type: string
nullable: true
maxLength: 256
filter_body:
type: string
nullable: true
maxLength: 256
filter_attachment_filename_include:
type: string
nullable: true
title: Filter attachment filename inclusive
description: Only consume documents which entirely match this filename if
specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
filter_attachment_filename_exclude:
type: string
nullable: true
title: Filter attachment filename exclusive
description: Do not consume documents which entirely match this filename
if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
maximum_age:
type: integer
maximum: 9223372036854775807
minimum: 0
format: int64
description: Specified in days.
action:
allOf:
- $ref: '#/components/schemas/MailRuleActionEnum'
minimum: 0
maximum: 9223372036854775807
action_parameter:
type: string
nullable: true
minLength: 1
default: ''
assign_title_from:
allOf:
- $ref: '#/components/schemas/AssignTitleFromEnum'
minimum: 0
maximum: 9223372036854775807
assign_tags:
type: array
items:
type: integer
nullable: true
assign_correspondent_from:
allOf:
- $ref: '#/components/schemas/AssignCorrespondentFromEnum'
minimum: 0
maximum: 9223372036854775807
assign_correspondent:
type: integer
nullable: true
assign_document_type:
type: integer
nullable: true
assign_owner_from_rule:
type: boolean
title: Assign the rule owner to documents
order:
type: integer
attachment_type:
allOf:
- $ref: '#/components/schemas/AttachmentTypeEnum'
description: |-
Inline attachments include embedded images, so it's best to combine this option with a filename filter.
* `1` - Only process attachments.
* `2` - Process all files, including 'inline' attachments.
minimum: 0
maximum: 9223372036854775807
consumption_scope:
allOf:
- $ref: '#/components/schemas/ConsumptionScopeEnum'
minimum: 0
maximum: 9223372036854775807
pdf_layout:
allOf:
- $ref: '#/components/schemas/PdfLayoutEnum'
minimum: 0
maximum: 9223372036854775807
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
required:
- account
- name
MatchingAlgorithm:
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
type: integer
description: |-
* `0` - None
* `1` - Any word
* `2` - All words
* `3` - Exact match
* `4` - Regular expression
* `5` - Fuzzy word
* `6` - Automatic
Metadata:
type: object
properties:
original_checksum:
type: string
original_size:
type: integer
original_mime_type:
type: string
media_filename:
type: string
has_archive_version:
type: boolean
original_metadata:
type: object
additionalProperties: {}
archive_checksum:
type: string
archive_media_filename:
type: string
original_filename:
type: string
archive_size:
type: integer
archive_metadata:
type: object
additionalProperties: {}
lang:
type: string
required:
- archive_checksum
- archive_media_filename
- archive_metadata
- archive_size
- has_archive_version
- lang
- media_filename
- original_checksum
- original_filename
- original_metadata
- original_mime_type
- original_size
MethodEnum:
enum:
- set_correspondent
- set_document_type
- set_storage_path
- add_tag
- remove_tag
- modify_tags
- modify_custom_fields
- delete
- reprocess
- set_permissions
- rotate
- merge
- split
- delete_pages
type: string
description: |-
* `set_correspondent` - set_correspondent
* `set_document_type` - set_document_type
* `set_storage_path` - set_storage_path
* `add_tag` - add_tag
* `remove_tag` - remove_tag
* `modify_tags` - modify_tags
* `modify_custom_fields` - modify_custom_fields
* `delete` - delete
* `reprocess` - reprocess
* `set_permissions` - set_permissions
* `rotate` - rotate
* `merge` - merge
* `split` - split
* `delete_pages` - delete_pages
MigrationStatus:
type: object
properties:
latest_migration:
type: string
unapplied_migrations:
type: array
items:
type: string
required:
- latest_migration
- unapplied_migrations
ModeEnum:
enum:
- skip
- redo
- force
- skip_noarchive
type: string
description: |-
* `skip` - skip
* `redo` - redo
* `force` - force
* `skip_noarchive` - skip_noarchive
NoteCreateRequestRequest:
type: object
properties:
note:
type: string
minLength: 1
required:
- note
Notes:
type: object
properties:
id:
type: integer
readOnly: true
note:
type: string
title: Content
description: Note for the document
created:
type: string
format: date-time
user:
allOf:
- $ref: '#/components/schemas/BasicUser'
readOnly: true
required:
- id
- user
NotesRequest:
type: object
properties:
note:
type: string
title: Content
description: Note for the document
created:
type: string
format: date-time
NullEnum:
enum:
- null
ObjectTypeEnum:
enum:
- tags
- correspondents
- document_types
- storage_paths
type: string
description: |-
* `tags` - tags
* `correspondents` - correspondents
* `document_types` - document_types
* `storage_paths` - storage_paths
OperationEnum:
enum:
- set_permissions
- delete
type: string
description: |-
* `set_permissions` - set_permissions
* `delete` - delete
OutputTypeEnum:
enum:
- pdf
- pdfa
- pdfa-1
- pdfa-2
- pdfa-3
type: string
description: |-
* `pdf` - pdf
* `pdfa` - pdfa
* `pdfa-1` - pdfa-1
* `pdfa-2` - pdfa-2
* `pdfa-3` - pdfa-3
PaginatedCorrespondentList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Correspondent'
all:
type: array
example: '[1, 2, 3]'
PaginatedCustomFieldList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/CustomField'
all:
type: array
example: '[1, 2, 3]'
PaginatedDocumentList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Document'
all:
type: array
example: '[1, 2, 3]'
PaginatedDocumentTypeList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/DocumentType'
all:
type: array
example: '[1, 2, 3]'
PaginatedGroupList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Group'
all:
type: array
example: '[1, 2, 3]'
PaginatedLogEntryList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/LogEntry'
all:
type: array
example: '[1, 2, 3]'
PaginatedMailAccountList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/MailAccount'
all:
type: array
example: '[1, 2, 3]'
PaginatedMailRuleList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/MailRule'
all:
type: array
example: '[1, 2, 3]'
PaginatedNotesList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Notes'
all:
type: array
example: '[1, 2, 3]'
PaginatedSavedViewList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/SavedView'
all:
type: array
example: '[1, 2, 3]'
PaginatedShareLinkList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ShareLink'
all:
type: array
example: '[1, 2, 3]'
PaginatedStoragePathList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/StoragePath'
all:
type: array
example: '[1, 2, 3]'
PaginatedTagList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Tag'
all:
type: array
example: '[1, 2, 3]'
PaginatedUserList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/User'
all:
type: array
example: '[1, 2, 3]'
PaginatedWorkflowActionList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/WorkflowAction'
all:
type: array
example: '[1, 2, 3]'
PaginatedWorkflowList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Workflow'
all:
type: array
example: '[1, 2, 3]'
PaginatedWorkflowTriggerList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/WorkflowTrigger'
all:
type: array
example: '[1, 2, 3]'
PaperlessAuthToken:
type: object
properties:
token:
type: string
readOnly: true
required:
- token
PaperlessAuthTokenRequest:
type: object
properties:
username:
type: string
writeOnly: true
minLength: 1
password:
type: string
writeOnly: true
minLength: 1
code:
type: string
writeOnly: true
minLength: 1
title: MFA Code
required:
- password
- username
PatchedApplicationConfigurationRequest:
type: object
properties:
user_args:
nullable: true
barcode_tag_mapping:
nullable: true
output_type:
nullable: true
title: Sets the output PDF type
oneOf:
- $ref: '#/components/schemas/OutputTypeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
pages:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Do OCR from page 1 to this value
language:
type: string
nullable: true
title: Do OCR using these languages
maxLength: 32
mode:
nullable: true
title: Sets the OCR mode
oneOf:
- $ref: '#/components/schemas/ModeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
skip_archive_file:
nullable: true
title: Controls the generation of an archive file
oneOf:
- $ref: '#/components/schemas/SkipArchiveFileEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
image_dpi:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets image DPI fallback value
unpaper_clean:
nullable: true
title: Controls the unpaper cleaning
oneOf:
- $ref: '#/components/schemas/UnpaperCleanEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
deskew:
type: boolean
nullable: true
title: Enables deskew
rotate_pages:
type: boolean
nullable: true
title: Enables page rotation
rotate_pages_threshold:
type: number
format: double
minimum: 0.0
nullable: true
title: Sets the threshold for rotation of pages
max_image_pixels:
type: number
format: double
minimum: 0.0
nullable: true
title: Sets the maximum image size for decompression
color_conversion_strategy:
nullable: true
title: Sets the Ghostscript color conversion strategy
oneOf:
- $ref: '#/components/schemas/ColorConversionStrategyEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
app_title:
type: string
nullable: true
title: Application title
maxLength: 48
app_logo:
type: string
format: binary
nullable: true
title: Application logo
pattern: (?:jpg|png|gif|svg)$
barcodes_enabled:
type: boolean
nullable: true
title: Enables barcode scanning
barcode_enable_tiff_support:
type: boolean
nullable: true
title: Enables barcode TIFF support
barcode_string:
type: string
nullable: true
title: Sets the barcode string
maxLength: 32
barcode_retain_split_pages:
type: boolean
nullable: true
title: Retains split pages
barcode_enable_asn:
type: boolean
nullable: true
title: Enables ASN barcode
barcode_asn_prefix:
type: string
nullable: true
title: Sets the ASN barcode prefix
maxLength: 32
barcode_upscale:
type: number
format: double
minimum: 1.0
nullable: true
title: Sets the barcode upscale factor
barcode_dpi:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets the barcode DPI
barcode_max_pages:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: Sets the maximum pages for barcode
barcode_enable_tag:
type: boolean
nullable: true
title: Enables tag barcode
PatchedCorrespondentRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
PatchedCustomFieldRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
data_type:
$ref: '#/components/schemas/DataTypeEnum'
extra_data:
nullable: true
description: Extra data for the custom field, such as select options
PatchedDocumentRequest:
type: object
description: Adds update nested feature
properties:
correspondent:
type: integer
nullable: true
document_type:
type: integer
nullable: true
storage_path:
type: integer
nullable: true
title:
type: string
maxLength: 128
content:
type: string
description: The raw, text-only data of the document. This field is primarily
used for searching.
tags:
type: array
items:
type: integer
created:
type: string
format: date
created_date:
type: string
format: date
deprecated: true
deleted_at:
type: string
format: date-time
nullable: true
archive_serial_number:
type: integer
maximum: 4294967295
minimum: 0
format: int64
nullable: true
description: The position of this document in your physical document archive.
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldInstanceRequest'
remove_inbox_tags:
type: boolean
writeOnly: true
nullable: true
default: false
PatchedDocumentTypeRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
PatchedGroupRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 150
permissions:
type: array
items:
type: string
minLength: 1
PatchedMailAccountRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
imap_server:
type: string
minLength: 1
maxLength: 256
imap_port:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
nullable: true
description: This is usually 143 for unencrypted and STARTTLS connections,
and 993 for SSL connections.
imap_security:
allOf:
- $ref: '#/components/schemas/ImapSecurityEnum'
minimum: 0
maximum: 9223372036854775807
username:
type: string
minLength: 1
maxLength: 256
password:
type: string
minLength: 1
character_set:
type: string
minLength: 1
description: The character set to use when communicating with the mail server,
such as 'UTF-8' or 'US-ASCII'.
maxLength: 256
is_token:
type: boolean
title: Is token authentication
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
account_type:
allOf:
- $ref: '#/components/schemas/AccountTypeEnum'
minimum: 0
maximum: 9223372036854775807
expiration:
type: string
format: date-time
nullable: true
description: 'The expiration date of the refresh token. '
PatchedMailRuleRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
account:
type: integer
enabled:
type: boolean
folder:
type: string
minLength: 1
description: Subfolders must be separated by a delimiter, often a dot ('.')
or slash ('/'), but it varies by mail server.
maxLength: 256
filter_from:
type: string
nullable: true
maxLength: 256
filter_to:
type: string
nullable: true
maxLength: 256
filter_subject:
type: string
nullable: true
maxLength: 256
filter_body:
type: string
nullable: true
maxLength: 256
filter_attachment_filename_include:
type: string
nullable: true
title: Filter attachment filename inclusive
description: Only consume documents which entirely match this filename if
specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
filter_attachment_filename_exclude:
type: string
nullable: true
title: Filter attachment filename exclusive
description: Do not consume documents which entirely match this filename
if specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
maximum_age:
type: integer
maximum: 9223372036854775807
minimum: 0
format: int64
description: Specified in days.
action:
allOf:
- $ref: '#/components/schemas/MailRuleActionEnum'
minimum: 0
maximum: 9223372036854775807
action_parameter:
type: string
nullable: true
minLength: 1
default: ''
assign_title_from:
allOf:
- $ref: '#/components/schemas/AssignTitleFromEnum'
minimum: 0
maximum: 9223372036854775807
assign_tags:
type: array
items:
type: integer
nullable: true
assign_correspondent_from:
allOf:
- $ref: '#/components/schemas/AssignCorrespondentFromEnum'
minimum: 0
maximum: 9223372036854775807
assign_correspondent:
type: integer
nullable: true
assign_document_type:
type: integer
nullable: true
assign_owner_from_rule:
type: boolean
title: Assign the rule owner to documents
order:
type: integer
attachment_type:
allOf:
- $ref: '#/components/schemas/AttachmentTypeEnum'
description: |-
Inline attachments include embedded images, so it's best to combine this option with a filename filter.
* `1` - Only process attachments.
* `2` - Process all files, including 'inline' attachments.
minimum: 0
maximum: 9223372036854775807
consumption_scope:
allOf:
- $ref: '#/components/schemas/ConsumptionScopeEnum'
minimum: 0
maximum: 9223372036854775807
pdf_layout:
allOf:
- $ref: '#/components/schemas/PdfLayoutEnum'
minimum: 0
maximum: 9223372036854775807
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
PatchedProfileRequest:
type: object
properties:
email:
type: string
format: email
password:
type: string
minLength: 1
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
PatchedSavedViewRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
show_on_dashboard:
type: boolean
show_in_sidebar:
type: boolean
sort_field:
type: string
nullable: true
maxLength: 128
sort_reverse:
type: boolean
filter_rules:
type: array
items:
$ref: '#/components/schemas/SavedViewFilterRuleRequest'
page_size:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: View page size
display_mode:
nullable: true
title: View display mode
oneOf:
- $ref: '#/components/schemas/DisplayModeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
display_fields:
nullable: true
title: Document display fields
owner:
type: integer
nullable: true
PatchedShareLinkRequest:
type: object
properties:
expiration:
type: string
format: date-time
nullable: true
document:
type: integer
file_version:
$ref: '#/components/schemas/FileVersionEnum'
PatchedStoragePathRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
path:
type: string
minLength: 1
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
PatchedTagRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
color:
type: string
minLength: 1
maxLength: 7
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
is_inbox_tag:
type: boolean
description: 'Marks this tag as an inbox tag: All newly consumed documents
will be tagged with inbox tags.'
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
PatchedUserRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
password:
type: string
minLength: 1
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
date_joined:
type: string
format: date-time
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
groups:
type: array
items:
type: integer
description: The groups this user belongs to. A user will get all permissions
granted to each of their groups.
user_permissions:
type: array
items:
type: string
minLength: 1
PatchedWorkflowActionRequest:
type: object
properties:
id:
type: integer
nullable: true
type:
allOf:
- $ref: '#/components/schemas/WorkflowActionTypeEnum'
title: Workflow Action Type
minimum: 0
maximum: 9223372036854775807
assign_title:
type: string
nullable: true
description: Assign a document title, can include some placeholders, see
documentation.
maxLength: 256
assign_tags:
type: array
items:
type: integer
nullable: true
assign_correspondent:
type: integer
nullable: true
assign_document_type:
type: integer
nullable: true
assign_storage_path:
type: integer
nullable: true
assign_owner:
type: integer
nullable: true
title: Assign this owner
assign_view_users:
type: array
items:
type: integer
title: Grant view permissions to these users
title: Grant view permissions to these users
assign_view_groups:
type: array
items:
type: integer
title: Grant view permissions to these groups
title: Grant view permissions to these groups
assign_change_users:
type: array
items:
type: integer
title: Grant change permissions to these users
title: Grant change permissions to these users
assign_change_groups:
type: array
items:
type: integer
title: Grant change permissions to these groups
title: Grant change permissions to these groups
assign_custom_fields:
type: array
items:
type: integer
title: Assign these custom fields
title: Assign these custom fields
assign_custom_fields_values:
nullable: true
title: Custom field values
description: Optional values to assign to the custom fields.
remove_all_tags:
type: boolean
remove_tags:
type: array
items:
type: integer
title: Remove these tag(s)
title: Remove these tag(s)
remove_all_correspondents:
type: boolean
remove_correspondents:
type: array
items:
type: integer
title: Remove these correspondent(s)
title: Remove these correspondent(s)
remove_all_document_types:
type: boolean
remove_document_types:
type: array
items:
type: integer
title: Remove these document type(s)
title: Remove these document type(s)
remove_all_storage_paths:
type: boolean
remove_storage_paths:
type: array
items:
type: integer
title: Remove these storage path(s)
title: Remove these storage path(s)
remove_custom_fields:
type: array
items:
type: integer
title: Remove these custom fields
title: Remove these custom fields
remove_all_custom_fields:
type: boolean
remove_all_owners:
type: boolean
remove_owners:
type: array
items:
type: integer
title: Remove these owner(s)
title: Remove these owner(s)
remove_all_permissions:
type: boolean
remove_view_users:
type: array
items:
type: integer
title: Remove view permissions for these users
title: Remove view permissions for these users
remove_view_groups:
type: array
items:
type: integer
title: Remove view permissions for these groups
title: Remove view permissions for these groups
remove_change_users:
type: array
items:
type: integer
title: Remove change permissions for these users
title: Remove change permissions for these users
remove_change_groups:
type: array
items:
type: integer
title: Remove change permissions for these groups
title: Remove change permissions for these groups
email:
allOf:
- $ref: '#/components/schemas/WorkflowActionEmailRequest'
nullable: true
webhook:
allOf:
- $ref: '#/components/schemas/WorkflowActionWebhookRequest'
nullable: true
PatchedWorkflowRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
order:
type: integer
enabled:
type: boolean
triggers:
type: array
items:
$ref: '#/components/schemas/WorkflowTriggerRequest'
actions:
type: array
items:
$ref: '#/components/schemas/WorkflowActionRequest'
PatchedWorkflowTriggerRequest:
type: object
properties:
id:
type: integer
nullable: true
sources:
type: array
items:
$ref: '#/components/schemas/SourcesEnum'
default:
- 1
- 2
- 3
type:
allOf:
- $ref: '#/components/schemas/WorkflowTriggerTypeEnum'
title: Trigger Type
filter_path:
type: string
nullable: true
description: Only consume documents with a path that matches this if specified.
Wildcards specified as * are allowed. Case insensitive.
maxLength: 256
filter_filename:
type: string
nullable: true
description: Only consume documents which entirely match this filename if
specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
filter_mailrule:
type: integer
nullable: true
title: Filter documents from this mail rule
matching_algorithm:
allOf:
- $ref: '#/components/schemas/WorkflowTriggerMatchingAlgorithmEnum'
minimum: 0
maximum: 9223372036854775807
match:
type: string
maxLength: 256
is_insensitive:
type: boolean
filter_has_tags:
type: array
items:
type: integer
title: Has these tag(s)
title: Has these tag(s)
filter_has_correspondent:
type: integer
nullable: true
title: Has this correspondent
filter_has_document_type:
type: integer
nullable: true
title: Has this document type
schedule_offset_days:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
description: The number of days to offset the schedule trigger by.
schedule_is_recurring:
type: boolean
description: If the schedule should be recurring.
schedule_recurring_interval_days:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
title: Schedule recurring delay in days
description: The number of days between recurring schedule triggers.
schedule_date_field:
allOf:
- $ref: '#/components/schemas/ScheduleDateFieldEnum'
description: |-
The field to check for a schedule trigger.
* `added` - Added
* `created` - Created
* `modified` - Modified
* `custom_field` - Custom Field
schedule_date_custom_field:
type: integer
nullable: true
PdfLayoutEnum:
enum:
- 0
- 1
- 2
- 3
- 4
type: integer
description: |-
* `0` - System default
* `1` - Text, then HTML
* `2` - HTML, then text
* `3` - HTML only
* `4` - Text only
PostDocumentRequest:
type: object
properties:
created:
type: string
format: date-time
writeOnly: true
nullable: true
document:
type: string
format: binary
writeOnly: true
title:
type: string
writeOnly: true
minLength: 1
correspondent:
type: integer
writeOnly: true
nullable: true
document_type:
type: integer
writeOnly: true
nullable: true
storage_path:
type: integer
writeOnly: true
nullable: true
tags:
type: array
items:
type: integer
writeOnly: true
title: Tags
writeOnly: true
archive_serial_number:
type: integer
maximum: 4294967295
minimum: 0
format: int64
writeOnly: true
title: ASN
custom_fields:
type: array
items:
type: integer
writeOnly: true
title: Custom fields
writeOnly: true
from_webui:
type: boolean
writeOnly: true
title: Documents are from Paperless-ngx WebUI
required:
- document
Profile:
type: object
properties:
email:
type: string
format: email
password:
type: string
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
auth_token:
type: string
readOnly: true
social_accounts:
type: array
items:
$ref: '#/components/schemas/SocialAccount'
readOnly: true
has_usable_password:
type: boolean
readOnly: true
is_mfa_enabled:
type: boolean
readOnly: true
required:
- auth_token
- has_usable_password
- is_mfa_enabled
- social_accounts
RuleTypeEnum:
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
type: integer
description: |-
* `0` - title contains
* `1` - content contains
* `2` - ASN is
* `3` - correspondent is
* `4` - document type is
* `5` - is in inbox
* `6` - has tag
* `7` - has any tag
* `8` - created before
* `9` - created after
* `10` - created year is
* `11` - created month is
* `12` - created day is
* `13` - added before
* `14` - added after
* `15` - modified before
* `16` - modified after
* `17` - does not have tag
* `18` - does not have ASN
* `19` - title or content contains
* `20` - fulltext query
* `21` - more like this
* `22` - has tags in
* `23` - ASN greater than
* `24` - ASN less than
* `25` - storage path is
* `26` - has correspondent in
* `27` - does not have correspondent in
* `28` - has document type in
* `29` - does not have document type in
* `30` - has storage path in
* `31` - does not have storage path in
* `32` - owner is
* `33` - has owner in
* `34` - does not have owner
* `35` - does not have owner in
* `36` - has custom field value
* `37` - is shared by me
* `38` - has custom fields
* `39` - has custom field in
* `40` - does not have custom field in
* `41` - does not have custom field
* `42` - custom fields query
* `43` - created to
* `44` - created from
* `45` - added to
* `46` - added from
* `47` - mime type is
SanityCheck:
type: object
properties:
status:
type: string
error:
type: string
last_run:
type: string
format: date-time
required:
- error
- last_run
- status
SavedView:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 128
show_on_dashboard:
type: boolean
show_in_sidebar:
type: boolean
sort_field:
type: string
nullable: true
maxLength: 128
sort_reverse:
type: boolean
filter_rules:
type: array
items:
$ref: '#/components/schemas/SavedViewFilterRule'
page_size:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: View page size
display_mode:
nullable: true
title: View display mode
oneOf:
- $ref: '#/components/schemas/DisplayModeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
display_fields:
nullable: true
title: Document display fields
owner:
type: integer
nullable: true
user_can_change:
type: boolean
readOnly: true
required:
- filter_rules
- id
- name
- show_in_sidebar
- show_on_dashboard
- user_can_change
SavedViewFilterRule:
type: object
properties:
rule_type:
allOf:
- $ref: '#/components/schemas/RuleTypeEnum'
minimum: 0
maximum: 9223372036854775807
value:
type: string
nullable: true
maxLength: 255
required:
- rule_type
SavedViewFilterRuleRequest:
type: object
properties:
rule_type:
allOf:
- $ref: '#/components/schemas/RuleTypeEnum'
minimum: 0
maximum: 9223372036854775807
value:
type: string
nullable: true
maxLength: 255
required:
- rule_type
SavedViewRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
show_on_dashboard:
type: boolean
show_in_sidebar:
type: boolean
sort_field:
type: string
nullable: true
maxLength: 128
sort_reverse:
type: boolean
filter_rules:
type: array
items:
$ref: '#/components/schemas/SavedViewFilterRuleRequest'
page_size:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
nullable: true
title: View page size
display_mode:
nullable: true
title: View display mode
oneOf:
- $ref: '#/components/schemas/DisplayModeEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
display_fields:
nullable: true
title: Document display fields
owner:
type: integer
nullable: true
required:
- filter_rules
- name
- show_in_sidebar
- show_on_dashboard
ScheduleDateFieldEnum:
enum:
- added
- created
- modified
- custom_field
type: string
description: |-
* `added` - Added
* `created` - Created
* `modified` - Modified
* `custom_field` - Custom Field
SearchResult:
type: object
properties:
total:
type: integer
documents:
type: array
items:
$ref: '#/components/schemas/Document'
saved_views:
type: array
items:
$ref: '#/components/schemas/SavedView'
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
correspondents:
type: array
items:
$ref: '#/components/schemas/Correspondent'
document_types:
type: array
items:
$ref: '#/components/schemas/DocumentType'
storage_paths:
type: array
items:
$ref: '#/components/schemas/StoragePath'
users:
type: array
items:
$ref: '#/components/schemas/User'
groups:
type: array
items:
$ref: '#/components/schemas/Group'
mail_rules:
type: array
items:
$ref: '#/components/schemas/MailRule'
mail_accounts:
type: array
items:
$ref: '#/components/schemas/MailAccount'
workflows:
type: array
items:
$ref: '#/components/schemas/Workflow'
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomField'
required:
- correspondents
- custom_fields
- document_types
- documents
- groups
- mail_accounts
- mail_rules
- saved_views
- storage_paths
- tags
- total
- users
- workflows
SelectionData:
type: object
properties:
selected_correspondents:
type: array
items:
$ref: '#/components/schemas/CorrespondentCounts'
selected_tags:
type: array
items:
$ref: '#/components/schemas/TagCounts'
selected_document_types:
type: array
items:
$ref: '#/components/schemas/DocumentTypeCounts'
selected_storage_paths:
type: array
items:
$ref: '#/components/schemas/StoragePathCounts'
selected_custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldCounts'
required:
- selected_correspondents
- selected_custom_fields
- selected_document_types
- selected_storage_paths
- selected_tags
ShareLink:
type: object
properties:
id:
type: integer
readOnly: true
created:
type: string
format: date-time
readOnly: true
expiration:
type: string
format: date-time
nullable: true
slug:
type: string
readOnly: true
pattern: ^[-a-zA-Z0-9_]+$
document:
type: integer
file_version:
$ref: '#/components/schemas/FileVersionEnum'
required:
- created
- id
- slug
ShareLinkRequest:
type: object
properties:
expiration:
type: string
format: date-time
nullable: true
document:
type: integer
file_version:
$ref: '#/components/schemas/FileVersionEnum'
SkipArchiveFileEnum:
enum:
- never
- with_text
- always
type: string
description: |-
* `never` - never
* `with_text` - with_text
* `always` - always
SocialAccount:
type: object
properties:
id:
type: integer
readOnly: true
provider:
type: string
maxLength: 200
name:
type: string
readOnly: true
required:
- id
- name
- provider
SocialAccountRequest:
type: object
properties:
provider:
type: string
minLength: 1
maxLength: 200
required:
- provider
SourcesEnum:
enum:
- 1
- 2
- 3
- 4
type: integer
description: |-
* `1` - Consume Folder
* `2` - Api Upload
* `3` - Mail Fetch
* `4` - Web UI
StatusEnum:
enum:
- FAILURE
- PENDING
- RECEIVED
- RETRY
- REVOKED
- STARTED
- SUCCESS
type: string
description: |-
* `FAILURE` - FAILURE
* `PENDING` - PENDING
* `RECEIVED` - RECEIVED
* `RETRY` - RETRY
* `REVOKED` - REVOKED
* `STARTED` - STARTED
* `SUCCESS` - SUCCESS
Storage:
type: object
properties:
total:
type: integer
available:
type: integer
required:
- available
- total
StoragePath:
type: object
properties:
id:
type: integer
readOnly: true
slug:
type: string
readOnly: true
name:
type: string
maxLength: 128
path:
type: string
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
document_count:
type: integer
readOnly: true
owner:
type: integer
nullable: true
user_can_change:
type: boolean
readOnly: true
required:
- document_count
- id
- name
- path
- slug
- user_can_change
StoragePathCounts:
type: object
properties:
id:
type: integer
document_count:
type: integer
required:
- document_count
- id
StoragePathRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
path:
type: string
minLength: 1
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
required:
- name
- path
Suggestions:
type: object
properties:
correspondents:
type: array
items:
type: integer
tags:
type: array
items:
type: integer
document_types:
type: array
items:
type: integer
storage_paths:
type: array
items:
type: integer
dates:
type: array
items:
type: string
required:
- correspondents
- dates
- document_types
- storage_paths
- tags
SystemStatus:
type: object
properties:
pngx_version:
type: string
server_os:
type: string
install_type:
type: string
storage:
$ref: '#/components/schemas/Storage'
database:
$ref: '#/components/schemas/Database'
tasks:
$ref: '#/components/schemas/Tasks'
index:
$ref: '#/components/schemas/Index'
classifier:
$ref: '#/components/schemas/Classifier'
sanity_check:
$ref: '#/components/schemas/SanityCheck'
required:
- classifier
- database
- index
- install_type
- pngx_version
- sanity_check
- server_os
- storage
- tasks
Tag:
type: object
properties:
id:
type: integer
readOnly: true
slug:
type: string
readOnly: true
name:
type: string
maxLength: 128
color:
type: string
maxLength: 7
text_color:
type: string
readOnly: true
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
is_inbox_tag:
type: boolean
description: 'Marks this tag as an inbox tag: All newly consumed documents
will be tagged with inbox tags.'
document_count:
type: integer
readOnly: true
owner:
type: integer
nullable: true
user_can_change:
type: boolean
readOnly: true
required:
- document_count
- id
- name
- slug
- text_color
- user_can_change
TagCounts:
type: object
properties:
id:
type: integer
document_count:
type: integer
required:
- document_count
- id
TagRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 128
color:
type: string
minLength: 1
maxLength: 7
match:
type: string
maxLength: 256
matching_algorithm:
allOf:
- $ref: '#/components/schemas/MatchingAlgorithm'
minimum: 0
maximum: 9223372036854775807
is_insensitive:
type: boolean
is_inbox_tag:
type: boolean
description: 'Marks this tag as an inbox tag: All newly consumed documents
will be tagged with inbox tags.'
owner:
type: integer
nullable: true
set_permissions:
type: object
properties:
view:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
change:
type: object
properties:
users:
type: array
items:
type: integer
groups:
type: array
items:
type: integer
writeOnly: true
required:
- name
TaskNameEnum:
enum:
- consume_file
- train_classifier
- check_sanity
- index_optimize
type: string
description: |-
* `consume_file` - Consume File
* `train_classifier` - Train Classifier
* `check_sanity` - Check Sanity
* `index_optimize` - Index Optimize
Tasks:
type: object
properties:
redis_url:
type: string
redis_status:
type: string
redis_error:
type: string
celery_status:
type: string
required:
- celery_status
- redis_error
- redis_status
- redis_url
TasksView:
type: object
properties:
id:
type: integer
readOnly: true
task_id:
type: string
description: Celery ID for the Task that was run
maxLength: 255
task_name:
nullable: true
description: |-
Name of the task that was run
* `consume_file` - Consume File
* `train_classifier` - Train Classifier
* `check_sanity` - Check Sanity
* `index_optimize` - Index Optimize
oneOf:
- $ref: '#/components/schemas/TaskNameEnum'
- $ref: '#/components/schemas/NullEnum'
task_file_name:
type: string
nullable: true
title: Task Filename
description: Name of the file which the Task was run for
maxLength: 255
date_created:
type: string
format: date-time
nullable: true
title: Created DateTime
description: Datetime field when the task result was created in UTC
date_done:
type: string
format: date-time
nullable: true
title: Completed DateTime
description: Datetime field when the task was completed in UTC
type:
allOf:
- $ref: '#/components/schemas/TasksViewTypeEnum'
title: Task Type
description: |-
The type of task that was run
* `auto_task` - Auto Task
* `scheduled_task` - Scheduled Task
* `manual_task` - Manual Task
status:
allOf:
- $ref: '#/components/schemas/StatusEnum'
title: Task State
description: |-
Current state of the task being run
* `FAILURE` - FAILURE
* `PENDING` - PENDING
* `RECEIVED` - RECEIVED
* `RETRY` - RETRY
* `REVOKED` - REVOKED
* `STARTED` - STARTED
* `SUCCESS` - SUCCESS
result:
type: string
nullable: true
title: Result Data
description: The data returned by the task
acknowledged:
type: boolean
description: If the task is acknowledged via the frontend or API
related_document:
type: string
nullable: true
readOnly: true
owner:
type: integer
nullable: true
required:
- id
- related_document
- task_id
TasksViewRequest:
type: object
properties:
task_id:
type: string
minLength: 1
description: Celery ID for the Task that was run
maxLength: 255
task_name:
nullable: true
description: |-
Name of the task that was run
* `consume_file` - Consume File
* `train_classifier` - Train Classifier
* `check_sanity` - Check Sanity
* `index_optimize` - Index Optimize
oneOf:
- $ref: '#/components/schemas/TaskNameEnum'
- $ref: '#/components/schemas/NullEnum'
task_file_name:
type: string
nullable: true
minLength: 1
title: Task Filename
description: Name of the file which the Task was run for
maxLength: 255
date_created:
type: string
format: date-time
nullable: true
title: Created DateTime
description: Datetime field when the task result was created in UTC
date_done:
type: string
format: date-time
nullable: true
title: Completed DateTime
description: Datetime field when the task was completed in UTC
type:
allOf:
- $ref: '#/components/schemas/TasksViewTypeEnum'
title: Task Type
description: |-
The type of task that was run
* `auto_task` - Auto Task
* `scheduled_task` - Scheduled Task
* `manual_task` - Manual Task
status:
allOf:
- $ref: '#/components/schemas/StatusEnum'
title: Task State
description: |-
Current state of the task being run
* `FAILURE` - FAILURE
* `PENDING` - PENDING
* `RECEIVED` - RECEIVED
* `RETRY` - RETRY
* `REVOKED` - REVOKED
* `STARTED` - STARTED
* `SUCCESS` - SUCCESS
result:
type: string
nullable: true
minLength: 1
title: Result Data
description: The data returned by the task
acknowledged:
type: boolean
description: If the task is acknowledged via the frontend or API
owner:
type: integer
nullable: true
required:
- task_id
TasksViewTypeEnum:
enum:
- auto_task
- scheduled_task
- manual_task
type: string
description: |-
* `auto_task` - Auto Task
* `scheduled_task` - Scheduled Task
* `manual_task` - Manual Task
TrashActionEnum:
enum:
- restore
- empty
type: string
description: |-
* `restore` - restore
* `empty` - empty
TrashRequest:
type: object
properties:
documents:
type: array
items:
type: integer
writeOnly: true
action:
allOf:
- $ref: '#/components/schemas/TrashActionEnum'
writeOnly: true
required:
- action
UiSettingsView:
type: object
properties:
id:
type: integer
readOnly: true
settings:
type: object
additionalProperties: {}
nullable: true
required:
- id
UiSettingsViewRequest:
type: object
properties:
settings:
type: object
additionalProperties: {}
nullable: true
UnpaperCleanEnum:
enum:
- clean
- clean-final
- none
type: string
description: |-
* `clean` - clean
* `clean-final` - clean-final
* `none` - none
User:
type: object
properties:
id:
type: integer
readOnly: true
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
password:
type: string
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
date_joined:
type: string
format: date-time
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
groups:
type: array
items:
type: integer
description: The groups this user belongs to. A user will get all permissions
granted to each of their groups.
user_permissions:
type: array
items:
type: string
inherited_permissions:
type: array
items:
type: string
readOnly: true
is_mfa_enabled:
type: boolean
readOnly: true
required:
- id
- inherited_permissions
- is_mfa_enabled
- username
UserRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
password:
type: string
minLength: 1
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
date_joined:
type: string
format: date-time
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
groups:
type: array
items:
type: integer
description: The groups this user belongs to. A user will get all permissions
granted to each of their groups.
user_permissions:
type: array
items:
type: string
minLength: 1
required:
- username
Workflow:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 256
order:
type: integer
enabled:
type: boolean
triggers:
type: array
items:
$ref: '#/components/schemas/WorkflowTrigger'
actions:
type: array
items:
$ref: '#/components/schemas/WorkflowAction'
required:
- actions
- id
- name
- triggers
WorkflowAction:
type: object
properties:
id:
type: integer
nullable: true
type:
allOf:
- $ref: '#/components/schemas/WorkflowActionTypeEnum'
title: Workflow Action Type
minimum: 0
maximum: 9223372036854775807
assign_title:
type: string
nullable: true
description: Assign a document title, can include some placeholders, see
documentation.
maxLength: 256
assign_tags:
type: array
items:
type: integer
nullable: true
assign_correspondent:
type: integer
nullable: true
assign_document_type:
type: integer
nullable: true
assign_storage_path:
type: integer
nullable: true
assign_owner:
type: integer
nullable: true
title: Assign this owner
assign_view_users:
type: array
items:
type: integer
title: Grant view permissions to these users
title: Grant view permissions to these users
assign_view_groups:
type: array
items:
type: integer
title: Grant view permissions to these groups
title: Grant view permissions to these groups
assign_change_users:
type: array
items:
type: integer
title: Grant change permissions to these users
title: Grant change permissions to these users
assign_change_groups:
type: array
items:
type: integer
title: Grant change permissions to these groups
title: Grant change permissions to these groups
assign_custom_fields:
type: array
items:
type: integer
title: Assign these custom fields
title: Assign these custom fields
assign_custom_fields_values:
nullable: true
title: Custom field values
description: Optional values to assign to the custom fields.
remove_all_tags:
type: boolean
remove_tags:
type: array
items:
type: integer
title: Remove these tag(s)
title: Remove these tag(s)
remove_all_correspondents:
type: boolean
remove_correspondents:
type: array
items:
type: integer
title: Remove these correspondent(s)
title: Remove these correspondent(s)
remove_all_document_types:
type: boolean
remove_document_types:
type: array
items:
type: integer
title: Remove these document type(s)
title: Remove these document type(s)
remove_all_storage_paths:
type: boolean
remove_storage_paths:
type: array
items:
type: integer
title: Remove these storage path(s)
title: Remove these storage path(s)
remove_custom_fields:
type: array
items:
type: integer
title: Remove these custom fields
title: Remove these custom fields
remove_all_custom_fields:
type: boolean
remove_all_owners:
type: boolean
remove_owners:
type: array
items:
type: integer
title: Remove these owner(s)
title: Remove these owner(s)
remove_all_permissions:
type: boolean
remove_view_users:
type: array
items:
type: integer
title: Remove view permissions for these users
title: Remove view permissions for these users
remove_view_groups:
type: array
items:
type: integer
title: Remove view permissions for these groups
title: Remove view permissions for these groups
remove_change_users:
type: array
items:
type: integer
title: Remove change permissions for these users
title: Remove change permissions for these users
remove_change_groups:
type: array
items:
type: integer
title: Remove change permissions for these groups
title: Remove change permissions for these groups
email:
allOf:
- $ref: '#/components/schemas/WorkflowActionEmail'
nullable: true
webhook:
allOf:
- $ref: '#/components/schemas/WorkflowActionWebhook'
nullable: true
WorkflowActionEmail:
type: object
properties:
id:
type: integer
nullable: true
subject:
type: string
title: Email subject
description: The subject of the email, can include some placeholders, see
documentation.
maxLength: 256
body:
type: string
title: Email body
description: The body (message) of the email, can include some placeholders,
see documentation.
to:
type: string
title: Emails to
description: The destination email addresses, comma separated.
include_document:
type: boolean
title: Include document in email
required:
- body
- subject
- to
WorkflowActionEmailRequest:
type: object
properties:
id:
type: integer
nullable: true
subject:
type: string
minLength: 1
title: Email subject
description: The subject of the email, can include some placeholders, see
documentation.
maxLength: 256
body:
type: string
minLength: 1
title: Email body
description: The body (message) of the email, can include some placeholders,
see documentation.
to:
type: string
minLength: 1
title: Emails to
description: The destination email addresses, comma separated.
include_document:
type: boolean
title: Include document in email
required:
- body
- subject
- to
WorkflowActionRequest:
type: object
properties:
id:
type: integer
nullable: true
type:
allOf:
- $ref: '#/components/schemas/WorkflowActionTypeEnum'
title: Workflow Action Type
minimum: 0
maximum: 9223372036854775807
assign_title:
type: string
nullable: true
description: Assign a document title, can include some placeholders, see
documentation.
maxLength: 256
assign_tags:
type: array
items:
type: integer
nullable: true
assign_correspondent:
type: integer
nullable: true
assign_document_type:
type: integer
nullable: true
assign_storage_path:
type: integer
nullable: true
assign_owner:
type: integer
nullable: true
title: Assign this owner
assign_view_users:
type: array
items:
type: integer
title: Grant view permissions to these users
title: Grant view permissions to these users
assign_view_groups:
type: array
items:
type: integer
title: Grant view permissions to these groups
title: Grant view permissions to these groups
assign_change_users:
type: array
items:
type: integer
title: Grant change permissions to these users
title: Grant change permissions to these users
assign_change_groups:
type: array
items:
type: integer
title: Grant change permissions to these groups
title: Grant change permissions to these groups
assign_custom_fields:
type: array
items:
type: integer
title: Assign these custom fields
title: Assign these custom fields
assign_custom_fields_values:
nullable: true
title: Custom field values
description: Optional values to assign to the custom fields.
remove_all_tags:
type: boolean
remove_tags:
type: array
items:
type: integer
title: Remove these tag(s)
title: Remove these tag(s)
remove_all_correspondents:
type: boolean
remove_correspondents:
type: array
items:
type: integer
title: Remove these correspondent(s)
title: Remove these correspondent(s)
remove_all_document_types:
type: boolean
remove_document_types:
type: array
items:
type: integer
title: Remove these document type(s)
title: Remove these document type(s)
remove_all_storage_paths:
type: boolean
remove_storage_paths:
type: array
items:
type: integer
title: Remove these storage path(s)
title: Remove these storage path(s)
remove_custom_fields:
type: array
items:
type: integer
title: Remove these custom fields
title: Remove these custom fields
remove_all_custom_fields:
type: boolean
remove_all_owners:
type: boolean
remove_owners:
type: array
items:
type: integer
title: Remove these owner(s)
title: Remove these owner(s)
remove_all_permissions:
type: boolean
remove_view_users:
type: array
items:
type: integer
title: Remove view permissions for these users
title: Remove view permissions for these users
remove_view_groups:
type: array
items:
type: integer
title: Remove view permissions for these groups
title: Remove view permissions for these groups
remove_change_users:
type: array
items:
type: integer
title: Remove change permissions for these users
title: Remove change permissions for these users
remove_change_groups:
type: array
items:
type: integer
title: Remove change permissions for these groups
title: Remove change permissions for these groups
email:
allOf:
- $ref: '#/components/schemas/WorkflowActionEmailRequest'
nullable: true
webhook:
allOf:
- $ref: '#/components/schemas/WorkflowActionWebhookRequest'
nullable: true
WorkflowActionTypeEnum:
enum:
- 1
- 2
- 3
- 4
type: integer
description: |-
* `1` - Assignment
* `2` - Removal
* `3` - Email
* `4` - Webhook
WorkflowActionWebhook:
type: object
properties:
id:
type: integer
nullable: true
url:
type: string
title: Webhook url
description: The destination URL for the notification.
maxLength: 256
use_params:
type: boolean
title: Use parameters
as_json:
type: boolean
title: Send as JSON
params:
nullable: true
title: Webhook parameters
description: The parameters to send with the webhook URL if body not used.
body:
type: string
nullable: true
title: Webhook body
description: The body to send with the webhook URL if parameters not used.
headers:
nullable: true
title: Webhook headers
description: The headers to send with the webhook URL.
include_document:
type: boolean
title: Include document in webhook
required:
- url
WorkflowActionWebhookRequest:
type: object
properties:
id:
type: integer
nullable: true
url:
type: string
minLength: 1
title: Webhook url
description: The destination URL for the notification.
maxLength: 256
use_params:
type: boolean
title: Use parameters
as_json:
type: boolean
title: Send as JSON
params:
nullable: true
title: Webhook parameters
description: The parameters to send with the webhook URL if body not used.
body:
type: string
nullable: true
title: Webhook body
description: The body to send with the webhook URL if parameters not used.
headers:
nullable: true
title: Webhook headers
description: The headers to send with the webhook URL.
include_document:
type: boolean
title: Include document in webhook
required:
- url
WorkflowRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
order:
type: integer
enabled:
type: boolean
triggers:
type: array
items:
$ref: '#/components/schemas/WorkflowTriggerRequest'
actions:
type: array
items:
$ref: '#/components/schemas/WorkflowActionRequest'
required:
- actions
- name
- triggers
WorkflowTrigger:
type: object
properties:
id:
type: integer
nullable: true
sources:
type: array
items:
$ref: '#/components/schemas/SourcesEnum'
default:
- 1
- 2
- 3
type:
allOf:
- $ref: '#/components/schemas/WorkflowTriggerTypeEnum'
title: Trigger Type
filter_path:
type: string
nullable: true
description: Only consume documents with a path that matches this if specified.
Wildcards specified as * are allowed. Case insensitive.
maxLength: 256
filter_filename:
type: string
nullable: true
description: Only consume documents which entirely match this filename if
specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
filter_mailrule:
type: integer
nullable: true
title: Filter documents from this mail rule
matching_algorithm:
allOf:
- $ref: '#/components/schemas/WorkflowTriggerMatchingAlgorithmEnum'
minimum: 0
maximum: 9223372036854775807
match:
type: string
maxLength: 256
is_insensitive:
type: boolean
filter_has_tags:
type: array
items:
type: integer
title: Has these tag(s)
title: Has these tag(s)
filter_has_correspondent:
type: integer
nullable: true
title: Has this correspondent
filter_has_document_type:
type: integer
nullable: true
title: Has this document type
schedule_offset_days:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
description: The number of days to offset the schedule trigger by.
schedule_is_recurring:
type: boolean
description: If the schedule should be recurring.
schedule_recurring_interval_days:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
title: Schedule recurring delay in days
description: The number of days between recurring schedule triggers.
schedule_date_field:
allOf:
- $ref: '#/components/schemas/ScheduleDateFieldEnum'
description: |-
The field to check for a schedule trigger.
* `added` - Added
* `created` - Created
* `modified` - Modified
* `custom_field` - Custom Field
schedule_date_custom_field:
type: integer
nullable: true
required:
- type
WorkflowTriggerMatchingAlgorithmEnum:
enum:
- 0
- 1
- 2
- 3
- 4
- 5
type: integer
description: |-
* `0` - None
* `1` - Any word
* `2` - All words
* `3` - Exact match
* `4` - Regular expression
* `5` - Fuzzy word
WorkflowTriggerRequest:
type: object
properties:
id:
type: integer
nullable: true
sources:
type: array
items:
$ref: '#/components/schemas/SourcesEnum'
default:
- 1
- 2
- 3
type:
allOf:
- $ref: '#/components/schemas/WorkflowTriggerTypeEnum'
title: Trigger Type
filter_path:
type: string
nullable: true
description: Only consume documents with a path that matches this if specified.
Wildcards specified as * are allowed. Case insensitive.
maxLength: 256
filter_filename:
type: string
nullable: true
description: Only consume documents which entirely match this filename if
specified. Wildcards such as *.pdf or *invoice* are allowed. Case insensitive.
maxLength: 256
filter_mailrule:
type: integer
nullable: true
title: Filter documents from this mail rule
matching_algorithm:
allOf:
- $ref: '#/components/schemas/WorkflowTriggerMatchingAlgorithmEnum'
minimum: 0
maximum: 9223372036854775807
match:
type: string
maxLength: 256
is_insensitive:
type: boolean
filter_has_tags:
type: array
items:
type: integer
title: Has these tag(s)
title: Has these tag(s)
filter_has_correspondent:
type: integer
nullable: true
title: Has this correspondent
filter_has_document_type:
type: integer
nullable: true
title: Has this document type
schedule_offset_days:
type: integer
maximum: 9223372036854775807
minimum: -9223372036854775808
format: int64
description: The number of days to offset the schedule trigger by.
schedule_is_recurring:
type: boolean
description: If the schedule should be recurring.
schedule_recurring_interval_days:
type: integer
maximum: 9223372036854775807
minimum: 1
format: int64
title: Schedule recurring delay in days
description: The number of days between recurring schedule triggers.
schedule_date_field:
allOf:
- $ref: '#/components/schemas/ScheduleDateFieldEnum'
description: |-
The field to check for a schedule trigger.
* `added` - Added
* `created` - Created
* `modified` - Modified
* `custom_field` - Custom Field
schedule_date_custom_field:
type: integer
nullable: true
required:
- type
WorkflowTriggerTypeEnum:
enum:
- 1
- 2
- 3
- 4
type: integer
description: |-
* `1` - Consumption Started
* `2` - Document Added
* `3` - Document Updated
* `4` - Scheduled
securitySchemes:
PaperelessBasicAuthentication:
type: http
scheme: basic
cookieAuth:
type: apiKey
in: cookie
name: sessionid
tokenAuth:
type: apiKey
in: header
name: Authorization
description: Token-based authentication with required prefix "Token"
externalDocs:
description: Paperless-ngx API Documentation
url: https://docs.paperless-ngx.com/api/