Workist Rfq API
The Rfq API from Workist — 5 operation(s) for rfq.
The Rfq API from Workist — 5 operation(s) for rfq.
openapi: 3.0.3
info:
title: Workist Integrations & Developer Delivery Notes Rfq API
version: v1
description: With this API you can access different resources of the Workist platform (e.g. processed documents, masterdata imports)
termsOfService: https://www.workist.com/terms-of-use
contact:
email: info@workist.com
servers:
- url: /v1/
- url: /api/v1/
tags:
- name: Rfq
paths:
/rfq:
get:
operationId: rfq_list
description: 'To extract data from a file a `Processing Record` is created. Each `Processing Record` is part of a `Channel`. A `Channel` defines which fields should be extracted, confidence thresholds and more. '
summary: Get all processing records for this document type
parameters:
- in: query
name: channel
schema:
type: string
description: Id of a processing channel
- in: query
name: assistance_needed
schema:
type: boolean
description: Filter by assistance needed records
- in: query
name: finished
schema:
type: boolean
description: Filter by finished records
- in: query
name: imported
schema:
type: boolean
description: Filter records marked as [SUCCEEDED]
- in: query
name: import_failed
schema:
type: boolean
description: Filter records marked as [FAILED]
- in: query
name: created_by
schema:
type: string
description: Email address or id of a user.
- in: query
name: assisted_by
schema:
type: string
description: Email address or id of a user.
- in: query
name: date_from
schema:
type: string
format: date-time
description: 'Beginning of a date range (based on created_at) in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`'
- in: query
name: date_to
schema:
type: string
format: date-time
description: 'End of a date range (based on created_at) in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`'
- 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: show_unfinished_data
schema:
type: boolean
description: 'By default, only completed data is displayed to avoid inaccuracies. However, you can use this parameter to access data still under processing.
Default: `False`'
tags:
- Rfq
security:
- BearerAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRfqProcessingRecordList'
description: ''
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
post:
operationId: rfq_create
description: 'To extract data from a file a `Processing Record` is created. Each `Processing Record` is part of a `Channel`. A `Channel` defines which fields should be extracted, confidence thresholds and more. '
summary: Add a new processing record for this document type
parameters:
- in: query
name: show_unfinished_data
schema:
type: boolean
description: 'By default, only completed data is displayed to avoid inaccuracies. However, you can use this parameter to access data still under processing.
Default: `False`'
tags:
- Rfq
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDocumentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateDocumentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateDocumentRequest'
required: true
security:
- BearerAuthentication: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RfqProcessingRecord'
description: ''
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
/rfq/{id}:
get:
operationId: rfq_retrieve
description: 'To extract data from a file a `Processing Record` is created. Each `Processing Record` is part of a `Channel`. A `Channel` defines which fields should be extracted, confidence thresholds and more. '
summary: Get a specific processing record for this document type
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this rfq processing record.
required: true
- in: query
name: show_unfinished_data
schema:
type: boolean
description: 'By default, only completed data is displayed to avoid inaccuracies. However, you can use this parameter to access data still under processing.
Default: `False`'
tags:
- Rfq
security:
- BearerAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RfqProcessingRecord'
description: ''
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
delete:
operationId: rfq_destroy
description: 'To extract data from a file a `Processing Record` is created. Each `Processing Record` is part of a `Channel`. A `Channel` defines which fields should be extracted, confidence thresholds and more. '
summary: Delete a processing record of this document type
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this rfq processing record.
required: true
tags:
- Rfq
security:
- BearerAuthentication: []
responses:
'204':
description: No response body
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
/rfq/{id}/assign_user:
put:
operationId: rfq_assign_user_update
description: The user will be stored in the field `assigned_to`.
summary: Assign a user to a specific processing record of this document type
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this rfq processing record.
required: true
- in: query
name: show_unfinished_data
schema:
type: boolean
description: 'By default, only completed data is displayed to avoid inaccuracies. However, you can use this parameter to access data still under processing.
Default: `False`'
tags:
- Rfq
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AssignUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AssignUserRequest'
required: true
security:
- BearerAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RfqProcessingRecord'
description: ''
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
/rfq/{id}/mark_imported:
put:
operationId: rfq_mark_imported_update
description: The external data will be stored in the fields `external_reference`, `external_status` and `external_message`.
summary: Mark a processing record of this document type as imported
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this rfq processing record.
required: true
- in: query
name: show_unfinished_data
schema:
type: boolean
description: 'By default, only completed data is displayed to avoid inaccuracies. However, you can use this parameter to access data still under processing.
Default: `False`'
tags:
- Rfq
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MarkImportedRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MarkImportedRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MarkImportedRequest'
security:
- BearerAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RfqProcessingRecord'
description: ''
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
/rfq/{id}/meta:
patch:
operationId: rfq_meta_partial_update
summary: Update the meta information of a processing record of this document type
parameters:
- in: path
name: id
schema:
type: string
format: uuid
description: A UUID string identifying this rfq processing record.
required: true
- in: query
name: show_unfinished_data
schema:
type: boolean
description: 'By default, only completed data is displayed to avoid inaccuracies. However, you can use this parameter to access data still under processing.
Default: `False`'
tags:
- Rfq
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedMetaRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedMetaRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedMetaRequest'
security:
- BearerAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RfqProcessingRecord'
description: ''
'400':
description: The request was unacceptable, often due to missing a required parameter or an invalid value.
'401':
description: Unauthorized, no valid token provided.
'404':
description: The requested resource doesn't exist.
'500':
description: Something went wrong on Workist's end.
components:
schemas:
RequestForQuotation:
type: object
properties:
customer:
allOf:
- $ref: '#/components/schemas/Customer'
nullable: true
customer_contact:
allOf:
- $ref: '#/components/schemas/ContactPerson'
nullable: true
delivery_address:
allOf:
- $ref: '#/components/schemas/Address'
nullable: true
delivery_date:
type: string
nullable: true
delivery_end_date:
type: string
nullable: true
request_date:
type: string
nullable: true
quote_deadline:
type: string
nullable: true
valid_from:
type: string
nullable: true
valid_until:
type: string
nullable: true
request_number:
type: string
nullable: true
info_text:
type: string
nullable: true
commission_number:
type: string
nullable: true
line_items:
type: array
items:
$ref: '#/components/schemas/RfqLineItem'
nullable: true
MarkImportedRequest:
type: object
properties:
status:
enum:
- PENDING
- SUCCEEDED
- FAILED
type: string
default: SUCCEEDED
description: 'Default is `SUCCEEDED`. If once marked as `SUCCEEDED` it cannot be changed anymore. If marked as `FAILED` the record will be displayed in the `open` tab and a user needs to take action again (either reopen for assistance to resolve the issue or deleting/discarding the record).
* `PENDING` - Pending
* `SUCCEEDED` - Succeeded
* `FAILED` - Failed'
external_reference:
type: string
minLength: 1
default: ''
description: Id that represents this record in the target system
external_status:
type: string
minLength: 1
default: ''
description: Status of the record in the target system
external_message:
type: string
minLength: 1
default: ''
description: E.g. error message
PatchedMetaRequest:
type: object
properties:
sender:
type: string
minLength: 1
default: ''
description: Sender of the document (e.g. sender of the original email)
subject:
type: string
minLength: 1
default: ''
description: Subject of the document (e.g. subject of the original email)
RfqProcessingRecord:
type: object
properties:
id:
type: string
format: uuid
readOnly: true
channel:
type: string
nullable: true
readOnly: true
status:
type: string
sender:
type: string
nullable: true
subject:
type: string
nullable: true
created_at:
type: string
format: date-time
readOnly: true
updated_at:
type: string
format: date-time
readOnly: true
created_by:
allOf:
- $ref: '#/components/schemas/User'
readOnly: true
assigned_to:
allOf:
- $ref: '#/components/schemas/User'
readOnly: true
assisted_by:
allOf:
- $ref: '#/components/schemas/User'
readOnly: true
assisted_at:
type: string
format: date-time
nullable: true
delivered_at:
type: string
format: date-time
readOnly: true
finished_at:
type: string
format: date-time
nullable: true
imported_at:
type: string
format: date-time
readOnly: true
email_file_url:
type: string
nullable: true
readOnly: true
input_file_url:
type: string
nullable: true
readOnly: true
classified_files:
type: array
items:
type: object
additionalProperties:
type: string
readOnly: true
additional_file_urls:
type: array
items:
type: string
nullable: true
description: Rarely used in customisations
readOnly: true
workbench_url:
type: string
format: uri
readOnly: true
external_reference:
type: string
nullable: true
readOnly: true
external_status:
type: string
nullable: true
readOnly: true
external_message:
type: string
nullable: true
readOnly: true
data:
allOf:
- $ref: '#/components/schemas/RequestForQuotation'
readOnly: true
required:
- additional_file_urls
- assigned_to
- assisted_by
- channel
- classified_files
- created_at
- created_by
- data
- delivered_at
- email_file_url
- external_message
- external_reference
- external_status
- id
- imported_at
- input_file_url
- status
- updated_at
- workbench_url
RfqLineItem:
type: object
properties:
pos:
type: string
nullable: true
article_number:
type: string
nullable: true
article_number_2:
type: string
nullable: true
article_number_3:
type: string
nullable: true
commission_number:
type: string
nullable: true
external_article_number:
type: string
nullable: true
external_reference:
type: string
nullable: true
article_comments:
type: string
nullable: true
quantity:
type: string
nullable: true
description:
type: string
nullable: true
unit:
type: string
nullable: true
converted_quantity:
type: string
nullable: true
converted_unit:
type: string
nullable: true
delivery_date:
type: string
nullable: true
ContactPerson:
type: object
properties:
number:
type: string
nullable: true
name:
type: string
nullable: true
email:
type: string
nullable: true
phone:
type: string
nullable: true
CreateDocumentRequest:
type: object
properties:
channel:
type: string
format: uuid
description: Id of a processing channel
file:
type: string
format: binary
description: File to be processed
user:
type: string
minLength: 1
description: Email address or id of a user.
required:
- channel
- file
AssignUserRequest:
type: object
properties:
user:
type: string
minLength: 1
description: Email address or id of a user.
required:
- user
PaginatedRfqProcessingRecordList:
type: object
required:
- count
- results
properties:
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
items:
type: array
items:
$ref: '#/components/schemas/RfqProcessingRecord'
total_count:
type: integer
example: 123
Address:
type: object
properties:
number:
type: string
nullable: true
number2:
type: string
nullable: true
number3:
type: string
nullable: true
name:
type: string
nullable: true
misc:
type: string
nullable: true
company_name:
type: string
nullable: true
company_name2:
type: string
nullable: true
company_name3:
type: string
nullable: true
company_name4:
type: string
nullable: true
street_and_nr:
type: string
nullable: true
street_name:
type: string
nullable: true
street_number:
type: string
nullable: true
postal_code:
type: string
nullable: true
city:
type: string
nullable: true
country_subdivision:
type: string
nullable: true
country:
type: string
nullable: true
phone:
type: string
nullable: true
email:
type: string
nullable: true
User:
type: object
properties:
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
required:
- email
Customer:
type: object
properties:
number:
type: string
nullable: true
number2:
type: string
nullable: true
name:
type: string
nullable: true
street_and_nr:
type: string
nullable: true
postal_code:
type: string
nullable: true
city:
type: string
nullable: true
country:
type: string
nullable: true
customer_type:
type: string
nullable: true
iln:
type: string
nullable: true
contact_person:
type: string
nullable: true
securitySchemes:
BearerAuthentication:
type: http
scheme: bearer
externalDocs:
url: https://workist.notion.site/How-to-Use-the-Master-Data-API-4fb9f1279ae8421088495e20b846b179
description: Master data implementation guide (includes code examples)