Workist Rfq API

The Rfq API from Workist — 5 operation(s) for rfq.

Operations 7

GET /rfq Get all processing records for this document type #
POST /rfq Add a new processing record for this document type #
GET /rfq/{id} Get a specific processing record for this document type #
DELETE /rfq/{id} Delete a processing record of this document type #
PUT /rfq/{id}/assign_user Assign a user to a specific processing record of this document type #
PUT /rfq/{id}/mark_imported Mark a processing record of this document type as imported #
PATCH /rfq/{id}/meta Update the meta information of a processing record of this document type #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/workist-rfq-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

workist-rfq-api-openapi.yml Raw ↑
openapi: 3.2.0
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:
    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
    RfqProcessingRecord:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        channel:
          type:
          - string
          - 'null'
          readOnly: true
        status:
          type: string
        sender:
          type:
          - string
          - 'null'
        subject:
          type:
          - string
          - 'null'
        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
          - 'null'
          format: date-time
        delivered_at:
          type: string
          format: date-time
          readOnly: true
        finished_at:
          type:
          - string
          - 'null'
          format: date-time
        imported_at:
          type: string
          format: date-time
          readOnly: true
        email_file_url:
          type:
          - string
          - 'null'
          readOnly: true
        input_file_url:
          type:
          - string
          - 'null'
          readOnly: true
        classified_files:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
          readOnly: true
        additional_file_urls:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Rarely used in customisations
          readOnly: true
        workbench_url:
          type: string
          format: uri
          readOnly: true
        external_reference:
          type:
          - string
          - 'null'
          readOnly: true
        external_status:
          type:
          - string
          - 'null'
          readOnly: true
        external_message:
          type:
          - string
          - 'null'
          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
    Address:
      type: object
      properties:
        number:
          type:
          - string
          - 'null'
        number2:
          type:
          - string
          - 'null'
        number3:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        misc:
          type:
          - string
          - 'null'
        company_name:
          type:
          - string
          - 'null'
        company_name2:
          type:
          - string
          - 'null'
        company_name3:
          type:
          - string
          - 'null'
        company_name4:
          type:
          - string
          - 'null'
        street_and_nr:
          type:
          - string
          - 'null'
        street_name:
          type:
          - string
          - 'null'
        street_number:
          type:
          - string
          - 'null'
        postal_code:
          type:
          - string
          - 'null'
        city:
          type:
          - string
          - 'null'
        country_subdivision:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
        phone:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
    ContactPerson:
      type: object
      properties:
        number:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        email:
          type:
          - string
          - 'null'
        phone:
          type:
          - string
          - 'null'
    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
    RequestForQuotation:
      type: object
      properties:
        customer:
          allOf:
          - $ref: '#/components/schemas/Customer'
        customer_contact:
          allOf:
          - $ref: '#/components/schemas/ContactPerson'
        delivery_address:
          allOf:
          - $ref: '#/components/schemas/Address'
        delivery_date:
          type:
          - string
          - 'null'
        delivery_end_date:
          type:
          - string
          - 'null'
        request_date:
          type:
          - string
          - 'null'
        quote_deadline:
          type:
          - string
          - 'null'
        valid_from:
          type:
          - string
          - 'null'
        valid_until:
          type:
          - string
          - 'null'
        request_number:
          type:
          - string
          - 'null'
        info_text:
          type:
          - string
          - 'null'
        commission_number:
          type:
          - string
          - 'null'
        line_items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RfqLineItem'
    Customer:
      type: object
      properties:
        number:
          type:
          - string
          - 'null'
        number2:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        street_and_nr:
          type:
          - string
          - 'null'
        postal_code:
          type:
          - string
          - 'null'
        city:
          type:
          - string
          - 'null'
        country:
          type:
          - string
          - 'null'
        customer_type:
          type:
          - string
          - 'null'
        iln:
          type:
          - string
          - 'null'
        contact_person:
          type:
          - string
          - 'null'
    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
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        items:
          type: array
          items:
            $ref: '#/components/schemas/RfqProcessingRecord'
        total_count:
          type: integer
          example: 123
    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
    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)
    RfqLineItem:
      type: object
      properties:
        pos:
          type:
          - string
          - 'null'
        article_number:
          type:
          - string
          - 'null'
        article_number_2:
          type:
          - string
          - 'null'
        article_number_3:
          type:
          - string
          - 'null'
        commission_number:
          type:
          - string
          - 'null'
        external_article_number:
          type:
          - string
          - 'null'
        external_reference:
          type:
          - string
          - 'null'
        article_comments:
          type:
          - string
          - 'null'
        quantity:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        unit:
          type:
          - string
          - 'null'
        converted_quantity:
          type:
          - string
          - 'null'
        converted_unit:
          type:
          - string
          - 'null'
        delivery_date:
          type:
          - string
          - 'null'
  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)