Heffl Deals API

The Deals API from Heffl — 2 operation(s) for deals.

GitHub OpenAPI

Operations 5

POST /deals Create a new deal #
GET /deals List deals #
GET /deals/{id} Get a deal #
PATCH /deals/{id} Update a deal #
DELETE /deals/{id} Delete a deal #

Specifications

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/heffl-com:heffl-com-deals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

heffl-com-deals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Heffl Public API (Legacy v1) Deals API
  version: 1.0.0
  description: Legacy Heffl REST API v1. Maintained for existing integrations. For new projects, use API v2 at https://docs.heffl.com/api-v2/introduction.
  contact:
    name: Heffl Support
    url: https://heffl.com/support
    email: support@heffl.com
servers:
- url: https://api.heffl.com/api/v1
  description: Production API Server
security:
- ApiKeyAuth: []
tags:
- name: Deals
paths:
  /deals:
    post:
      operationId: deals.create
      summary: Create a new deal
      description: Creates a new deal in your CRM pipeline.
      tags:
      - Deals
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  minLength: 1
                  description: Deal title
                pipelineId:
                  type: string
                  description: Pipeline public ID
                stageId:
                  type: string
                  description: Pipeline stage public ID
                clientId:
                  type: string
                  description: Client public ID (required)
                leadId:
                  type: string
                  description: Lead public ID
                sourceId:
                  type: string
                  description: Deal source public ID
                price:
                  type: number
                  description: Deal value/price
                expectedCloseDate:
                  type: string
                  format: date-time
                  x-native-type: date
                  description: Expected close date
                priority:
                  enum:
                  - LOW
                  - MEDIUM
                  - HIGH
                  description: Deal priority
              required:
              - title
              - pipelineId
              - stageId
              - clientId
              additionalProperties: {}
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Deal public ID
                  number:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Auto-generated deal number
                  title:
                    type: string
                    description: Deal title
                  price:
                    anyOf:
                    - type: number
                    - type: 'null'
                    description: Deal price/value
                  status:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal status
                  priority:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal priority
                  expectedCloseDate:
                    anyOf:
                    - type: string
                      format: date-time
                      x-native-type: date
                    - type: 'null'
                    description: Expected close date
                  clientId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Client public ID
                  pipelineId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Pipeline public ID
                  stageId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Pipeline stage public ID
                  sourceId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal source public ID
                  leadId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Lead public ID
                  createdAt:
                    type: string
                    format: date-time
                    x-native-type: date
                    description: When the deal was created
                  customFields:
                    anyOf:
                    - type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    - type: 'null'
                    description: Custom field values
                required:
                - id
                - title
                - createdAt
    get:
      operationId: deals.list
      summary: List deals
      description: Returns a paginated list of deals. Supports search and filtering.
      tags:
      - Deals
      parameters:
      - name: cursor
        in: query
        schema:
          type: string
          description: Cursor for pagination. Pass the previous response nextCursor value to fetch the next page.
        allowEmptyValue: true
        allowReserved: true
      - name: limit
        in: query
        schema:
          type: number
          minimum: 1
          maximum: 100
          default: 20
          description: Number of items to return (max 100)
        allowEmptyValue: true
        allowReserved: true
      - name: search
        in: query
        schema:
          type: string
          default: ''
          description: Search by deal title
        allowEmptyValue: true
        allowReserved: true
      - name: pipelineId
        in: query
        schema:
          type: string
          description: Filter by pipeline public ID
        allowEmptyValue: true
        allowReserved: true
      - name: stageId
        in: query
        schema:
          type: string
          description: Filter by stage public ID
        allowEmptyValue: true
        allowReserved: true
      - name: status
        in: query
        schema:
          enum:
          - ACTIVE
          - WON
          - LOST
          description: Filter by deal status (ACTIVE, WON, LOST)
        style: deepObject
        explode: true
        allowEmptyValue: true
        allowReserved: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Deal public ID
                        number:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Auto-generated deal number
                        title:
                          type: string
                          description: Deal title
                        price:
                          anyOf:
                          - type: number
                          - type: 'null'
                          description: Deal price/value
                        status:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Deal status
                        priority:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Deal priority
                        expectedCloseDate:
                          anyOf:
                          - type: string
                            format: date-time
                            x-native-type: date
                          - type: 'null'
                          description: Expected close date
                        clientId:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Client public ID
                        pipelineId:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Pipeline public ID
                        stageId:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Pipeline stage public ID
                        sourceId:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Deal source public ID
                        leadId:
                          anyOf:
                          - type: string
                          - type: 'null'
                          description: Lead public ID
                        createdAt:
                          type: string
                          format: date-time
                          x-native-type: date
                          description: When the deal was created
                        customFields:
                          anyOf:
                          - type: object
                            propertyNames:
                              type: string
                            additionalProperties: {}
                          - type: 'null'
                          description: Custom field values
                      required:
                      - id
                      - title
                      - createdAt
                  nextCursor:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Cursor to fetch the next page. Null if there are no more results.
                  hasMore:
                    type: boolean
                    description: Whether additional results are available
                required:
                - items
                - hasMore
  /deals/{id}:
    get:
      operationId: deals.get
      summary: Get a deal
      description: Returns a single deal by its public ID.
      tags:
      - Deals
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          description: Deal public ID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Deal public ID
                  number:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Auto-generated deal number
                  title:
                    type: string
                    description: Deal title
                  price:
                    anyOf:
                    - type: number
                    - type: 'null'
                    description: Deal price/value
                  status:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal status
                  priority:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal priority
                  expectedCloseDate:
                    anyOf:
                    - type: string
                      format: date-time
                      x-native-type: date
                    - type: 'null'
                    description: Expected close date
                  clientId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Client public ID
                  pipelineId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Pipeline public ID
                  stageId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Pipeline stage public ID
                  sourceId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal source public ID
                  leadId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Lead public ID
                  createdAt:
                    type: string
                    format: date-time
                    x-native-type: date
                    description: When the deal was created
                  customFields:
                    anyOf:
                    - type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    - type: 'null'
                    description: Custom field values
                required:
                - id
                - title
                - createdAt
    patch:
      operationId: deals.update
      summary: Update a deal
      description: Updates an existing deal. Only provided fields will be updated.
      tags:
      - Deals
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          description: Deal public ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: Deal title
                price:
                  type: number
                  description: Deal value/price
                stageId:
                  type: string
                  description: Pipeline stage public ID
                status:
                  enum:
                  - ACTIVE
                  - WON
                  - LOST
                  description: Deal status (ACTIVE, WON, LOST)
                priority:
                  enum:
                  - LOW
                  - MEDIUM
                  - HIGH
                  description: Deal priority
                sourceId:
                  type: string
                  description: Deal source public ID
                expectedCloseDate:
                  type: string
                  format: date-time
                  x-native-type: date
                  description: Expected close date
              required: []
              additionalProperties: {}
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Deal public ID
                  number:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Auto-generated deal number
                  title:
                    type: string
                    description: Deal title
                  price:
                    anyOf:
                    - type: number
                    - type: 'null'
                    description: Deal price/value
                  status:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal status
                  priority:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal priority
                  expectedCloseDate:
                    anyOf:
                    - type: string
                      format: date-time
                      x-native-type: date
                    - type: 'null'
                    description: Expected close date
                  clientId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Client public ID
                  pipelineId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Pipeline public ID
                  stageId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Pipeline stage public ID
                  sourceId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Deal source public ID
                  leadId:
                    anyOf:
                    - type: string
                    - type: 'null'
                    description: Lead public ID
                  createdAt:
                    type: string
                    format: date-time
                    x-native-type: date
                    description: When the deal was created
                  customFields:
                    anyOf:
                    - type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                    - type: 'null'
                    description: Custom field values
                required:
                - id
                - title
                - createdAt
    delete:
      operationId: deals.delete
      summary: Delete a deal
      description: Permanently deletes a deal. Will fail if the deal has associated quotations, projects, or documents.
      tags:
      - Deals
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          description: Deal public ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties: {}
              required: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                required:
                - success
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Get yours at app.heffl.com/settings/developers