Procurify custom-fields API

The custom-fields API from Procurify — 2 operation(s) for custom-fields.

OpenAPI Specification

procurify-custom-fields-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Procurify API Documentation account-codes custom-fields API
  version: ''
  description: '

    # Disclaimer


    - Procurify’s API is evolving and is subject to change at any time. Additionally, aspects of the API are undocumented, including certain methods, events, and properties. Given that both documented and undocumented aspects of the Procurify API may change at any time, the client relies on the API at their own risk.

    - Client (and/or client’s representative) is responsible for building, testing, and maintaining any API connection between Procurify and any other tool.  Procurify’s responsibility strictly involves providing support on clarifications in regards to the issued API document.

    - Procurify’s API is offered on an “as is” and “as available” basis, without warranties of any kind. By accepting this agreement, you agree that you have read the current API documentation, and accept the API functionality in its current state including current limitations. For questions and clarification around the documentation, please contact support@procurify.com.

    - In accordance with Section 2.(b) of our Subscription Services Agreement, Procurify reserves the right to deny access to our API at any time. If your API requests are too large and time out, contact us immediately to avoid possible suspension of access.

    - You may not attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how in the Procurify API or portion thereof. You may not use the Procurify API to replicate or compete with core products or services offered by Procurify.

    '
servers:
- url: https://{user_domain}.procurify.com
  description: Your Procurify domain
  variables:
    user_domain:
      default: your-domain
      description: Your procurify domain
tags:
- name: custom-fields
paths:
  /api/v3/custom-fields/{id}/:
    put:
      operationId: custom_fields_update
      description: ' '
      summary: Update Order Item Custom Field Dropdown Choices
      parameters:
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      - 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/CustomFieldUpdateRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CustomFieldUpdateRequest'
          ? ''
          : schema:
              $ref: '#/components/schemas/CustomFieldUpdateRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/CustomFieldUpdateRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomFieldUpdateRequest'
        required: true
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomFieldReadSerializerSingle'
            text/csv:
              schema:
                $ref: '#/components/schemas/CustomFieldReadSerializerSingle'
          description: ''
  /api/v3/custom-fields/order-items/:
    get:
      operationId: custom_fields_order_items_list
      description: Get list of custom fields associated with order items
      summary: Get Active/Inactive Order Item Custom Fields
      parameters:
      - in: query
        name: field_type
        schema:
          type: string
          enum:
          - a
          - b
          - d
          - f
          - h
          - i
          - m
          - t
        description: '* `t` - Text

          * `a` - Large Text Field

          * `i` - Integer

          * `f` - Floating point decimal

          * `b` - Boolean (Yes/No)

          * `m` - Dropdown Choices

          * `d` - Date

          * `h` - Date Time'
      - in: query
        name: format
        schema:
          type: string
          enum:
          - csv
          - json
      - in: query
        name: meta__is_active
        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
      tags:
      - custom-fields
      security:
      - RemoteAuthentication: []
      - M2MAuthentication: []
      - BasicAuthentication: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedCustomFieldReadList'
            text/csv:
              schema:
                $ref: '#/components/schemas/PaginatedCustomFieldReadList'
          description: ''
components:
  schemas:
    CustomFieldUpdateRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 200
        default_value:
          type: string
          maxLength: 5000
        is_required:
          type: boolean
        field_type:
          type: string
          minLength: 1
        field_choices:
          type: array
          items:
            type: string
            minLength: 1
          default: []
      required:
      - field_type
      - name
    CustomFieldRead:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 200
        content_type:
          type: integer
        default_value:
          type: string
          maxLength: 5000
        is_required:
          type: boolean
        field_choices:
          type: array
          items:
            type: string
          readOnly: true
        field_type:
          $ref: '#/components/schemas/FieldTypeEnum'
        field_label:
          type: string
          readOnly: true
        is_active:
          type: boolean
          readOnly: true
      required:
      - content_type
      - name
    FieldTypeEnum:
      enum:
      - t
      - a
      - i
      - f
      - b
      - m
      - d
      - h
      type: string
      description: '* `t` - Text

        * `a` - Large Text Field

        * `i` - Integer

        * `f` - Floating point decimal

        * `b` - Boolean (Yes/No)

        * `m` - Dropdown Choices

        * `d` - Date

        * `h` - Date Time'
    CustomFieldReadSerializerSingle:
      type: object
      properties:
        metadata:
          type: object
          additionalProperties: {}
          default: {}
        data:
          $ref: '#/components/schemas/CustomFieldRead'
      required:
      - data
    PaginatedCustomFieldReadList:
      type: object
      properties:
        metadata:
          type: object
          properties:
            pagination:
              type: object
              properties:
                count:
                  type: integer
                  example: 10
                next:
                  type: string
                  nullable: true
                  format: uri
                  example: null
                previous:
                  type: string
                  nullable: true
                  format: uri
                  example: null
                page_size:
                  type: integer
                  example: 10
                num_pages:
                  type: integer
                  example: 1
                current_page:
                  type: integer
                  example: 1
          example:
            pagination:
              count: 10
              next: null
              previous: null
              page_size: 10
              num_pages: 1
              current_page: 1
        data:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldRead'
  securitySchemes:
    BasicAuthentication:
      type: http
      scheme: basic
    M2MAuthentication:
      type: http
      scheme: bearer
      bearerFormat: JWT
    RemoteAuthentication:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://<your-domain>.procurify.com/oauth/authorize
          tokenUrl: https://<your-domain>.procurify.com/oauth/token
          scopes: {}
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid