Keap Pipelines API

The Keap Pipelines (deals) API - 28 paths and 45 operations for deals, deal notes, deal custom fields, date expressions and bulk deal operations. Keap's own developer portal loads this as the Pipelines reference, and its servers block names api.infusionsoft.com, but the document is served from Thryv's API host because Thryv Holdings owns Keap. Its info.title is the internal service name SLAAPI (Service Level Aggregation API) and its contact address is gryffindor@keap.com. It declares no error responses at all - only 200, 201 and 204.

OpenAPI Specification

infusionsoft-pipelines-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: SLAAPI
  description: Service Level Aggregation API (SLAAPI) to handle public API spec compliance
  contact:
    name: Gryffindor
    email: gryffindor@keap.com
  version: v1
servers:
- url: https://api.infusionsoft.com
paths:
  /v2/customFields:
    get:
      tags:
      - Custom Fields
      summary: Retrieves a list of custom fields in a tenant.
      description: Retrieves a list of custom fields in a tenant.
      operationId: getPipelineCustomFields
      parameters:
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      responses:
        "200":
          description: a list of PipelineCustomFields
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineCustomFields"
    post:
      tags:
      - Custom Fields
      summary: Creates a new custom field.
      description: Creates a new custom field.
      operationId: createPipelineCustomField
      requestBody:
        description: the request to create a custom field.
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePipelineCustomFieldRequest"
        required: true
      responses:
        "201":
          description: The created custom field as a PipelineCustomField object.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineCustomField"
  /v2/customFields/{id}:
    delete:
      tags:
      - Custom Fields
      summary: Deletes a custom field
      description: Deletes a custom field
      operationId: deletePipelineCustomField
      parameters:
      - name: id
        in: path
        description: the identifier of the custom field to delete
        required: true
        schema:
          type: string
      responses:
        "204":
          description: deletePipelineCustomField 204 response
    patch:
      tags:
      - Custom Fields
      summary: Updates a custom field
      description: Updates a custom field
      operationId: updatePipelineCustomFields
      parameters:
      - name: id
        in: path
        description: the identifier of the custom field to update
        required: true
        schema:
          type: string
      requestBody:
        description: the request body containing updated custom field details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateCustomFieldRequest"
        required: true
      responses:
        "200":
          description: the updated PipelineCustomField
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineCustomField"
  /v2/dateExpressions:
    get:
      tags:
      - DateExpression
      operationId: queryDateExpressions
      parameters:
      - name: time_zone
        in: query
        schema:
          type: string
          nullable: true
      - name: query
        in: query
        schema:
          type: string
          nullable: true
      responses:
        "200":
          description: queryDateExpressions 200 response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DateExpressionResponse"
      security:
      - BearerAuth: []
  /v2/deals:
    get:
      tags:
      - Deals
      summary: Lists entities based on the provided ListCommand.
      description: Lists entities based on the provided ListCommand.
      operationId: listDeal
      parameters:
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      responses:
        "200":
          description: a response containing the list of entities
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealListResponse"
      security:
      - BearerAuth: []
    post:
      tags:
      - Deals
      summary: Creates a new entity.
      description: Creates a new entity.
      operationId: createDeal
      requestBody:
        description: the create request
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateDealRequest"
        required: true
      responses:
        "201":
          description: The created entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Deal"
      security:
      - BearerAuth: []
  /v2/deals/-/bulk:
    get:
      tags:
      - Deals
      summary: Retrieves a list of deals by their IDs.
      description: Retrieves a list of deals by their IDs.
      operationId: listDealsByIds
      parameters:
      - name: id
        in: query
        description: the deal IDs to list
        required: true
        schema:
          minItems: 1
          type: array
          items:
            type: string
      responses:
        "200":
          description: the list of requested Deal
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/Deal"
      security:
      - BearerAuth: []
    delete:
      tags:
      - Deals
      summary: Deletes a list of deals by their IDs.
      description: Deletes a list of deals by their IDs.
      operationId: deleteDealsInBulk
      parameters:
      - name: id
        in: query
        description: each ID of each deal to delete
        required: true
        schema:
          minItems: 1
          type: array
          items:
            type: string
      responses:
        "204":
          description: deleteDealsInBulk 204 response
      security:
      - BearerAuth: []
  /v2/deals/-/contacts/{contact_id}:
    get:
      tags:
      - Deals
      summary: Lists all deals associated with a specific contact.
      description: Lists all deals associated with a specific contact.
      operationId: listDealsForContact
      parameters:
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: contact_id
        in: path
        description: the contact ID to list deals for
        required: true
        schema:
          type: string
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      responses:
        "200":
          description: a list of deals wrapped in a DealListResponse
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealListResponse"
      security:
      - BearerAuth: []
  /v2/deals/-/notes:
    post:
      tags:
      - Deals
      summary: Creates new notes in bulk.
      description: Creates new notes in bulk.
      operationId: createBulkNotesForDeals
      requestBody:
        description: the request body containing note details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BulkCreateDealNotesRequest"
        required: true
      responses:
        "201":
          description: the created DealNote
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BulkCreateDealNotesResponse"
      security:
      - BearerAuth: []
  /v2/deals/-/notes/{note_id}:
    get:
      tags:
      - Deals
      summary: Retrieves a specific deal note by its ID.
      description: Retrieves a specific deal note by its ID.
      operationId: getDealNote
      parameters:
      - name: note_id
        in: path
        description: the ID of the note to retrieve
        required: true
        schema:
          type: string
      responses:
        "200":
          description: the requested DealNote
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealNote"
      security:
      - BearerAuth: []
    delete:
      tags:
      - Deals
      summary: Deletes a specific deal note by its ID.
      description: Deletes a specific deal note by its ID.
      operationId: deleteDealNote
      parameters:
      - name: note_id
        in: path
        description: the ID of the note to delete
        required: true
        schema:
          type: string
      responses:
        "204":
          description: a HttpResponse indicating the result of the delete operation
      security:
      - BearerAuth: []
    patch:
      tags:
      - Deals
      summary: Updates a specific deal note by its ID.
      description: Updates a specific deal note by its ID.
      operationId: updateDealNote
      parameters:
      - name: note_id
        in: path
        description: the ID of the note to update
        required: true
        schema:
          type: string
      requestBody:
        description: the request body containing updated note details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateDealNoteRequest"
        required: true
      responses:
        "200":
          description: the updated DealNote
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealNote"
      security:
      - BearerAuth: []
  /v2/deals/bulk:
    post:
      tags:
      - Deals
      summary: Creates multiple deals in bulk.
      description: Creates multiple deals in bulk.
      operationId: createDealsInBulk
      requestBody:
        description: the request body containing multiple deal details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateDealsInBulkRequest"
        required: true
      responses:
        "201":
          description: the created deals
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreateDealsInBulkResponse"
      security:
      - BearerAuth: []
  /v2/deals/moveByContactIds:
    post:
      tags:
      - Deals
      summary: "Moves the active deals of specified contacts from one stage to another,\
        \ in bulk."
      description: "Moves the active deals of specified contacts from one stage to\
        \ another, in bulk."
      operationId: moveDealsForContacts
      requestBody:
        description: the request body containing move details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MoveDealsForContactsRequest"
        required: true
      responses:
        "200":
          description: the IDs of the Deals moved
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MoveDealsForContactsResponse"
      security:
      - BearerAuth: []
  /v2/deals/{id}:
    get:
      tags:
      - Deals
      summary: Retrieves an entity by its identifier.
      description: Retrieves an entity by its identifier.
      operationId: getDeal
      parameters:
      - name: id
        in: path
        description: the entity identifier
        required: true
        schema:
          type: string
      responses:
        "200":
          description: The retrieved entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Deal"
      security:
      - BearerAuth: []
    delete:
      tags:
      - Deals
      summary: Deletes an entity by its identifier.
      description: Deletes an entity by its identifier.
      operationId: deleteDeal
      parameters:
      - name: id
        in: path
        description: the entity identifier
        required: true
        schema:
          type: string
      responses:
        "204":
          description: A response indicating no content
      security:
      - BearerAuth: []
    patch:
      tags:
      - Deals
      summary: Updates an existing entity.
      description: Updates an existing entity.
      operationId: updateDeal
      parameters:
      - name: id
        in: path
        description: the entity identifier
        required: true
        schema:
          type: string
      - name: update_mask
        in: query
        description: the fields to update
        required: true
        schema:
          type: array
          items:
            type: string
      requestBody:
        description: the update request
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateDealRequest"
        required: true
      responses:
        "200":
          description: The updated entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Deal"
      security:
      - BearerAuth: []
  /v2/deals/{id}/customFields:validate:
    post:
      tags:
      - Deals
      summary: Validates the custom fields in a Deal.
      description: Validates the custom fields in a Deal.
      operationId: validateCustomFields
      parameters:
      - name: id
        in: path
        description: the ID of the deal to move
        required: true
        schema:
          type: string
      requestBody:
        description: the request body containing validation details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DealCustomFieldsValidationRequest"
        required: true
      responses:
        "200":
          description: the result of the validation containing errors and warnings
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealCustomFieldsValidationResponse"
      security:
      - BearerAuth: []
  /v2/deals/{id}/notes:
    get:
      tags:
      - Deals
      summary: Lists all notes associated with a specific deal.
      description: Lists all notes associated with a specific deal.
      operationId: listNotesForDeal
      parameters:
      - name: id
        in: path
        description: the deal ID to list notes for
        required: true
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      responses:
        "200":
          description: a list of deal notes wrapped in a DealNoteListResponse
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealNoteListResponse"
      security:
      - BearerAuth: []
    post:
      tags:
      - Deals
      summary: Creates a new note for a specific deal.
      description: Creates a new note for a specific deal.
      operationId: createNoteForDeal
      parameters:
      - name: id
        in: path
        description: the deal ID to associate the new note with
        required: true
        schema:
          type: string
      requestBody:
        description: the request body containing note details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateDealNoteRequest"
        required: true
      responses:
        "201":
          description: the created DealNote
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DealNote"
      security:
      - BearerAuth: []
  /v2/deals/{id}:count:
    get:
      tags:
      - Deals
      summary: Retrieves the count of deals based on the specified filter criteria.
      description: Retrieves the count of deals based on the specified filter criteria.
      operationId: countDealsFiltered
      parameters:
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      - name: id
        in: path
        description: the deal IDs to list
        required: true
        schema:
          type: string
      responses:
        "200":
          description: the count of deals matching the specified filter criteria.
          content:
            application/json:
              schema:
                type: integer
                format: int64
      security:
      - BearerAuth: []
  /v2/deals/{id}:move:
    post:
      tags:
      - Deals
      summary: Moves the specified deal to a specified stage.
      description: Moves the specified deal to a specified stage.
      operationId: moveDeal
      parameters:
      - name: id
        in: path
        description: the ID of the deal to move
        required: true
        schema:
          type: string
      requestBody:
        description: the stage to move the deal to
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: the IDs of the Deals moved
      security:
      - BearerAuth: []
  /v2/pipelines:
    get:
      tags:
      - Pipelines
      summary: Lists entities based on the provided ListCommand.
      description: Lists entities based on the provided ListCommand.
      operationId: listPipeline
      parameters:
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      responses:
        "200":
          description: a response containing the list of entities
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineListResponse"
      security:
      - BearerAuth: []
    post:
      tags:
      - Pipelines
      summary: Creates a new entity.
      description: Creates a new entity.
      operationId: createPipeline
      requestBody:
        description: the create request
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreatePipelineRequest"
        required: true
      responses:
        "201":
          description: The created entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pipeline"
      security:
      - BearerAuth: []
  /v2/pipelines/summaries:
    get:
      tags:
      - Pipelines
      summary: Retrieves a list of pipeline summaries.
      description: Retrieves a list of pipeline summaries.
      operationId: listPipelineSummaries
      parameters:
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      responses:
        "200":
          description: the response containing the list of pipeline summaries and
            the next page token
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineSummariesListResponse"
      security:
      - BearerAuth: []
  /v2/pipelines/{id}:
    get:
      tags:
      - Pipelines
      summary: Retrieves an entity by its identifier.
      description: Retrieves an entity by its identifier.
      operationId: getPipeline
      parameters:
      - name: id
        in: path
        description: the entity identifier
        required: true
        schema:
          type: string
      responses:
        "200":
          description: The retrieved entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pipeline"
      security:
      - BearerAuth: []
    delete:
      tags:
      - Pipelines
      summary: Deletes a pipeline.
      description: Deletes a pipeline.
      operationId: deletePipeline
      parameters:
      - name: new_stage_id
        in: query
        description: "the new stage identifier, can be null"
        schema:
          type: string
          nullable: true
      - name: id
        in: path
        description: the pipeline identifier
        required: true
        schema:
          type: string
      - name: allow_cleanup
        in: query
        description: "flag indicating whether cleanup is allowed, can be null"
        schema:
          type: boolean
          nullable: true
      responses:
        "204":
          description: A response indicating no content
      security:
      - BearerAuth: []
    patch:
      tags:
      - Pipelines
      summary: Updates an existing entity.
      description: Updates an existing entity.
      operationId: updatePipeline
      parameters:
      - name: id
        in: path
        description: the entity identifier
        required: true
        schema:
          type: string
      - name: update_mask
        in: query
        description: the fields to update
        required: true
        schema:
          type: array
          items:
            type: string
      requestBody:
        description: the update request
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdatePipelineRequest"
        required: true
      responses:
        "200":
          description: The updated entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Pipeline"
      security:
      - BearerAuth: []
  /v2/pipelines/{id}/bulk:
    patch:
      tags:
      - Pipelines
      summary: Updates a pipeline's deals in bulk.
      description: Updates a pipeline's deals in bulk.
      operationId: updatePipelinesInBulk
      parameters:
      - name: id
        in: path
        description: the pipeline ID
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateDealsInBulkRequest"
        required: true
      responses:
        "200":
          description: the response containing the results of the bulk update operation
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UpdateDealsInBulkResponse"
      security:
      - BearerAuth: []
  /v2/pipelines/{id}/deals:
    get:
      tags:
      - Pipelines
      summary: Retrieves the list of deals for a specific pipeline.
      description: Retrieves the list of deals for a specific pipeline.
      operationId: getPipelineDeals
      parameters:
      - name: id
        in: path
        description: the pipeline identifier
        required: true
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      responses:
        "200":
          description: a Mono emitting the count of deals
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineDealsListResponse"
      security:
      - BearerAuth: []
  /v2/pipelines/{id}/form:
    get:
      tags:
      - Display Forms
      summary: Retrieves a specific display form by a pipeline ID.
      description: Retrieves a specific display form by a pipeline ID.
      operationId: getPipelineDisplayForm
      parameters:
      - name: id
        in: path
        description: the ID of the pipeline containing the form
        required: true
        schema:
          type: string
      responses:
        "200":
          description: the requested Deal
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisplayForm"
    patch:
      tags:
      - Display Forms
      summary: Updates a display form
      description: Updates a display form
      operationId: updatePipelineDisplayForm
      parameters:
      - name: id
        in: path
        description: the ID of the pipeline containing the form
        required: true
        schema:
          type: string
      requestBody:
        description: the request body containing updated display form details
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateDisplayFormRequest"
        required: true
      responses:
        "200":
          description: the updated DisplayForm
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DisplayForm"
  /v2/pipelines/{id}/outcomes:
    get:
      tags:
      - Pipelines
      summary: Gets the outcome labels for a pipeline.
      description: Gets the outcome labels for a pipeline.
      operationId: getPipelineOutcomeLabels
      parameters:
      - name: id
        in: path
        description: the pipeline identifier
        required: true
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: integer
          description: Total number of items to return per page
          format: int32
          nullable: true
          example: 100
          default: 1000
      - name: page_token
        in: query
        schema:
          type: string
          description: Page token
          nullable: true
      - name: order_by
        in: query
        schema:
          type: string
          description: Attribute and direction to order items by. E.g. `given_name
            desc`
          nullable: true
      responses:
        "200":
          description: the updated list of the pipeline's outcome labels
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineOutcomeLabelListResponse"
      security:
      - BearerAuth: []
    patch:
      tags:
      - Pipelines
      summary: Sets the outcome labels for a pipeline.
      description: Sets the outcome labels for a pipeline.
      operationId: setPipelineOutcomeLabels
      parameters:
      - name: id
        in: path
        description: the pipeline identifier
        required: true
        schema:
          type: string
      requestBody:
        description: the request containing the new outcome labels
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateOutcomeLabelsRequest"
        required: true
      responses:
        "200":
          description: the updated list of the pipeline's outcome labels
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PipelineOutcomeLabelListResponse"
      security:
      - BearerAuth: []
  /v2/pipelines/{id}/stages:
    get:
      tags:
      - Pipelines
      summary: Retrieves a list of stages for a specific pipeline.
      description: Retrieves a list of stages for a specific pipeline.
      operationId: listPipelineStages
      parameters:
      - name: id
        in: path
        description: the pipeline identifier
        required: true
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
          description: Search filter to apply to results
          nullable: true
      - name: page_size
        in: query
        schema:
          maximum: 1000
          minimum: 1
          type: 

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infusionsoft/refs/heads/main/openapi/infusionsoft-pipelines-openapi.yml