By using this website, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.

Accept All
API Documentation

Deals

The Deals API allows you to manage deals within the Meridian CRM system.

Authentication

All requests must include a Bearer token in the HTTP header:

Authorization: Bearer ACCESS_TOKEN

Endpoints

List Deals

Description: Retrieve a list of deals from the user's organization.

Endpoint: GET api/public/v1/deals/

Optional Query Parameters:

  • search (string): Filter by deal title or description
  • ordering (string): Order results by specific fields (e.g., title, created for descending)
  • stage (UUID): Filter by deal stage
  • company (UUID): Filter by associated company

Response Example:

[
  {
    "id": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
    "title": "Enterprise Software License",
    "description": "Annual enterprise license renewal",
    "created": "2025-04-24T08:44:27.574699Z",
    "modified": "2025-04-24T08:44:27.574709Z",
    "stage": {
      "id": "3f4a5b6c-7d8e-9f0a-1b2c-3d4e5f6a7b8c",
      "title": "Qualification"
    },
    "company": {
      "id": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
      "title": "Acme Corp"
    },
    "members": [
      {
        "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com"
      }
    ],
    "kpi_values": [
      {
        "id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
        "kpi": {
          "id": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
          "title": "Deal Size"
        },
        "value": "1000000"
      }
    ]
  }
]

Get Deal Details

Description: Retrieve details for a specific deal.

Endpoint: GET api/public/v1/deals/{id}/

Response Example:

{
  "id": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
  "title": "Enterprise Software License",
  "description": "Annual enterprise license renewal",
  "created": "2025-04-24T08:44:27.574699Z",
  "modified": "2025-04-24T08:44:27.574709Z",
  "stage": {
    "id": "3f4a5b6c-7d8e-9f0a-1b2c-3d4e5f6a7b8c",
    "title": "Qualification"
  },
  "company": {
    "id": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
    "title": "Acme Corp",
    "website": "<https://acme-corp.com/>"
  },
  "members": [
    {
      "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com"
    }
  ],
  "kpi_values": [
    {
      "id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
      "kpi": {
        "id": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
        "title": "Deal Size",
        "type": "decimal"
      },
      "value": "1000000"
    }
  ],
  "contacts": [
    {
      "id": "5a6b7c8d-9e0f-1a2b-3c4d-5e6f7a8b9c0d",
      "person": {
        "id": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
        "first_name": "Jane",
        "last_name": "Smith",
        "email": "jane.smith@acme-corp.com"
      },
      "relation": "Decision Maker"
    }
  ],
  "meetings": [
    {
      "id": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
      "title": "Deal Discussion",
      "start_time": "2025-05-15T10:00:00Z",
      "end_time": "2025-05-15T11:00:00Z"
    }
  ],
  "notes": [
    {
      "id": "9c0d1e2f-3a4b-5c6d-7e8f-9a0b1c2d3e4f",
      "title": "Deal Notes",
      "created": "2025-04-25T14:30:00Z"
    }
  ],
  "documents": [
    {
      "id": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
      "name": "Contract.pdf",
      "created": "2025-04-26T09:15:00Z"
    }
  ]
}

Create Deal

Description: Create a new deal.

Endpoint: POST api/public/v1/deals/

Request Example:

{
  "title": "New Software Implementation",
  "description": "Implementation of new software solution",
  "company": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
  "stage": "3f4a5b6c-7d8e-9f0a-1b2c-3d4e5f6a7b8c",
  "members": ["1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"],
  "kpi_values": [
    {
      "kpi": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
      "value": "500000"
    }
  ]
}

Response: Returns the created deal object with HTTP 201 status code.

Update Deal

Description: Update an existing deal.

Endpoint: PUT api/public/v1/deals/{id}/

Request Example:

{
  "title": "Updated Deal Title",
  "description": "Updated deal description",
  "company": "bfcd725e-88da-41cd-8d9c-6aed5dda1a4a",
  "stage": "3f4a5b6c-7d8e-9f0a-1b2c-3d4e5f6a7b8c",
  "members": ["1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"],
  "kpi_values": [
    {
      "kpi": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
      "value": "750000"
    }
  ]
}

Response: Returns the updated deal object.

Delete Deal

Description: Delete a deal.

Endpoint: DELETE api/public/v1/deals/{id}/

Response: Returns HTTP 204 No Content on success.

List Deal Stages

Description: Retrieve a list of deal stages.

Endpoint: GET api/public/v1/deals/stages/

Request Example:

[
  {
    "id": "3f4a5b6c-7d8e-9f0a-1b2c-3d4e5f6a7b8c",
    "title": "Qualification",
    "color": "#3366FF",
    "order": 1,
    "organization": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d"
  },
  {
    "id": "5a6b7c8d-9e0f-1a2b-3c4d-5e6f7a8b9c0d",
    "title": "Proposal",
    "color": "#33CCFF",
    "order": 2,
    "organization": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d"
  }
]

Create Deal Stage

Description: Create a new deal stage.

Endpoint: POST api/public/v1/deals/stages/

Request Example:

{
  "title": "Negotiation",
  "color": "#FF9900",
  "order": 3
}

Response: Returns the created deal stage object with HTTP 201 status code.

Manage Deal Memberships

Description: Add or remove users from a deal.

Endpoint: POST api/public/v1/deals/deal-memberships/

Request Example:

{
  "deal": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
  "user": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
}

Response: Returns the created deal membership object with HTTP 201 status code.

Manage Deal KPI Values

Description: Add or update KPI values for a deal.

Endpoint: POST api/public/v1/deals/kpi-values/

Request Example:

{
  "deal": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
  "kpi": "1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b",
  "value": "1250000"
}

Response: Returns the created or updated KPI value object with HTTP 201 status code.

Manage Deal Contacts

Description: Add or update contacts for a deal.

Endpoint: POST api/public/v1/deals/deal-contacts/

Request Example:

{
  "deal": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
  "person": "3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
  "relation": "Decision Maker"
}

Response: Returns the created deal contact object with HTTP 201 status code.

List Deal Meetings

Description: Retrieve meetings associated with a deal.

Endpoint: GET api/public/v1/deals/deal-meetings/?deal={deal_id}

Request Example:

[
  {
    "id": "7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b",
    "title": "Deal Discussion",
    "start_time": "2025-05-15T10:00:00Z",
    "end_time": "2025-05-15T11:00:00Z",
    "deal": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
    "attendees": [
      {
        "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
        "first_name": "John",
        "last_name": "Doe"
      }
    ]
  }
]

Create IC Decision

Description: Create an Investment Committee decision for a deal.

Endpoint: POST api/public/v1/deals/{id}/ic-decisions

Request Example:

{
  "title": "Initial Review",
  "decision": "approved",
  "notes": "Approved with conditions",
  "options": [
    {
      "title": "Funding Amount",
      "value": "1000000"
    }
  ]
}

Response: Returns the created IC decision object with HTTP 201 status code.

List IC Decisions

Description: Retrieve Investment Committee decisions for a deal.

Endpoint: GET api/public/v1/deals/{id}/ic-decisions

Request Example:

[
  {
    "id": "9e0f1a2b-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
    "title": "Initial Review",
    "decision": "approved",
    "notes": "Approved with conditions",
    "created": "2025-05-01T14:30:00Z",
    "options": [
      {
        "id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
        "title": "Funding Amount",
        "value": "1000000"
      }
    ]
  }
]

Metadata Endpoints

Deal Metadata

Description: Retrieve metadata for deal fields.

Endpoint: GET api/public/v1/deals/metadata/

Request Example:

{
  "fields": [
    {
      "label": "Title",
      "name": "title",
      "type": "string",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Description",
      "name": "description",
      "type": "text",
      "createable": true,
      "updateable": true,
      "required": false
    },
    {
      "label": "Company",
      "name": "company",
      "type": "reference",
      "reference_to": "company",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Stage",
      "name": "stage",
      "type": "reference",
      "reference_to": "deal_stage",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Created",
      "name": "created",
      "type": "datetime",
      "createable": false,
      "updateable": false,
      "required": false
    },
    {
      "label": "Modified",
      "name": "modified",
      "type": "datetime",
      "createable": false,
      "updateable": false,
      "required": false
    }
  ]
}

Deal Stage Metadata

Description: Retrieve metadata for deal stage fields.

Endpoint: GET api/public/v1/deals/stages/metadata/

Request Example:

{
  "fields": [
    {
      "label": "Title",
      "name": "title",
      "type": "string",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Color",
      "name": "color",
      "type": "string",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Order",
      "name": "order",
      "type": "integer",
      "createable": true,
      "updateable": true,
      "required": true
    }
  ]
}

Deal Membership Metadata

Description: Retrieve metadata for deal membership fields.

Endpoint: GET api/public/v1/deals/deal-memberships/metadata/

Request Example:

{
  "fields": [
    {
      "label": "Deal",
      "name": "deal",
      "type": "reference",
      "reference_to": "deal",
      "createable": true,
      "updateable": false,
      "required": true
    },
    {
      "label": "User",
      "name": "user",
      "type": "reference",
      "reference_to": "user",
      "createable": true,
      "updateable": false,
      "required": true
    }
  ]
}

KPI Value Metadata

Description: Retrieve metadata for KPI value fields.

Endpoint: GET api/public/v1/deals/kpi-values/metadata/

Request Example:

{
  "fields": [
    {
      "label": "Deal",
      "name": "deal",
      "type": "reference",
      "reference_to": "deal",
      "createable": true,
      "updateable": false,
      "required": true
    },
    {
      "label": "KPI",
      "name": "kpi",
      "type": "reference",
      "reference_to": "kpi",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Value",
      "name": "value",
      "type": "string",
      "createable": true,
      "updateable": true,
      "required": true
    }
  ]
}

Deal Contact Metadata

Description: Retrieve metadata for deal contact fields.

Endpoint: GET api/public/v1/deals/deal-contacts/metadata/

Request Example:

{
  "fields": [
    {
      "label": "Deal",
      "name": "deal",
      "type": "reference",
      "reference_to": "deal",
      "createable": true,
      "updateable": false,
      "required": true
    },
    {
      "label": "Person",
      "name": "person",
      "type": "reference",
      "reference_to": "person",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Relation",
      "name": "relation",
      "type": "string",
      "createable": true,
      "updateable": true,
      "required": false
    }
  ]
}

IC Decision Metadata

Description: Retrieve metadata for IC decision fields.

Endpoint: GET api/public/v1/deals/ic-decisions/metadata/

Request Example:

{
  "fields": [
    {
      "label": "Deal",
      "name": "deal",
      "type": "reference",
      "reference_to": "deal",
      "createable": true,
      "updateable": false,
      "required": true
    },
    {
      "label": "Title",
      "name": "title",
      "type": "string",
      "createable": true,
      "updateable": true,
      "required": true
    },
    {
      "label": "Decision",
      "name": "decision",
      "type": "picklist",
      "createable": true,
      "updateable": true,
      "required": true,
      "select_options": [
        {"label": "Approved", "value": "approved"},
        {"label": "Rejected", "value": "rejected"},
        {"label": "Pending", "value": "pending"}
      ]
    },
    {
      "label": "Notes",
      "name": "notes",
      "type": "text",
      "createable": true,
      "updateable": true,
      "required": false
    }
  ]
}

Error Responses

  • 400 Bad Request: Invalid request parameters
  • 401 Unauthorized: Missing or invalid authentication
  • 403 Forbidden: Insufficient permissions
  • 404 Not Found: Resource not found
  • 500 Internal Server Error: Server-side error

Data Models

Deal

Field
Type
Description
id
UUID
Unique identifier
title
String
Deal name
description
String
Deal description
company
UUID
Reference to associated company
stage
UUID
Reference to deal stage
organization
UUID
Reference to organization
created
DateTime
Creation timestamp
modified
DateTime
Last modification timestamp

Deal Stage

Field
Type
Description
id
UUID
Unique identifier
title
String
Stage name
color
String
Hex color code
order
Integer
Display order
organization
UUID
Reference to organization

Deal Membership

Field
Type
Description
id
UUID
Unique identifier
deal
UUID
Reference to deal
user
UUID
Reference to user
created
DateTime
Creation timestamp

KPI Value

Field
Type
Description
id
UUID
Unique identifier
deal
UUID
Reference to deal
kpi
UUID
Reference to KPI definition
value
String
KPI value
created
DateTime
Creation timestamp
modified
DateTime
Last modification timestamp

Deal Contact

Field
Type
Description
id
UUID
Unique identifier
deal
UUID
Reference to deal
person
UUID
Reference to person
relation
String
Relationship to the deal
created
DateTime
Creation timestamp

IC Decision

Field
Type
Description
id
UUID
Unique identifier
deal
UUID
Reference to deal
title
String
Decision title
decision
String
Decision outcome (approved/rejected/pending)
notes
String
Decision notes
created
DateTime
Creation timestamp
Submit
By clicking "Submit", you agree to our Terms of Service and Privacy Policy.
Logo footer
Thank you for your interest

You can download the PDF using the button below.

Oops! Something went wrong while submitting the form.