{
  "openapi": "3.1.0",
  "info": {
    "title": "CRM Software API",
    "version": "v1",
    "description": "CRM Software APIs help sales teams capture leads, manage contacts, track deals, automate follow-ups, and analyze pipeline performance.",
    "contact": {
      "name": "Azeosoft Web Technologies",
      "url": "https://azeosoft.com"
    }
  },
  "servers": [
    {
      "url": "https://api-crm.azeosoft.com/v1",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Authentication",
      "description": "Authenticate and verify access for CRM Software integrations."
    },
    {
      "name": "Leads",
      "description": "Create, read, update, and list leads in CRM Software."
    },
    {
      "name": "Deal Pipeline",
      "description": "Manage deal pipeline workflows in CRM Software."
    },
    {
      "name": "Reports",
      "description": "Export CRM Software analytics and operational summaries."
    }
  ],
  "paths": {
    "/auth/token": {
      "post": {
        "operationId": "crm-token",
        "summary": "Create access token",
        "description": "Creates a short-lived access token for CRM Software API requests.",
        "tags": [
          "Authentication"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Access token returned",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "access_token": "az_live_token",
                    "token_type": "Bearer",
                    "expires_in": 3600
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "description": "Client credentials issued from the product admin panel.",
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "client_id": "crm_client",
                "client_secret": "********"
              }
            }
          }
        }
      }
    },
    "/auth/profile": {
      "get": {
        "operationId": "crm-profile",
        "summary": "Get integration profile",
        "description": "Returns organization and permission details for the authenticated CRM Software integration.",
        "tags": [
          "Authentication"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Integration profile returned",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "organizationId": "org_001",
                    "product": "CRM Software",
                    "scopes": [
                      "read",
                      "write"
                    ]
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/leads": {
      "get": {
        "operationId": "crm-list-records",
        "summary": "List leads",
        "description": "Returns a paginated list of leads for the organization.",
        "tags": [
          "Leads"
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Maximum records to return.",
            "schema": {
              "type": "integer"
            },
            "example": "50"
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Pagination cursor from the previous response.",
            "schema": {
              "type": "string"
            },
            "example": "next_abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "Leads list returned",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "items": [
                      {
                        "id": "lead_id_001",
                        "name": "Acme Retail",
                        "contact_name": "Ravi Sharma",
                        "phone": "+919999999999",
                        "source": "Website",
                        "stage": "qualified"
                      }
                    ],
                    "nextCursor": null
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "operationId": "crm-create-record",
        "summary": "Create leads",
        "description": "Creates a new leads record.",
        "tags": [
          "Leads"
        ],
        "parameters": [],
        "responses": {
          "201": {
            "description": "Leads created",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "id": "lead_id_001",
                    "name": "Acme Retail",
                    "contact_name": "Ravi Sharma",
                    "phone": "+919999999999",
                    "source": "Website",
                    "stage": "qualified",
                    "created_at": "2026-07-26T09:00:00Z"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "description": "Leads fields.",
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "name": "Acme Retail",
                "contact_name": "Ravi Sharma",
                "phone": "+919999999999",
                "source": "Website",
                "stage": "qualified"
              }
            }
          }
        }
      }
    },
    "/leads/{lead_id}": {
      "get": {
        "operationId": "crm-get-record",
        "summary": "Get leads details",
        "description": "Returns details for a specific leads record.",
        "tags": [
          "Leads"
        ],
        "parameters": [
          {
            "name": "lead_id",
            "in": "path",
            "required": true,
            "description": "Leads ID.",
            "schema": {
              "type": "string"
            },
            "example": "lead_id_001"
          }
        ],
        "responses": {
          "200": {
            "description": "Leads details returned",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "id": "lead_id_001",
                    "name": "Acme Retail",
                    "contact_name": "Ravi Sharma",
                    "phone": "+919999999999",
                    "source": "Website",
                    "stage": "qualified"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "operationId": "crm-update-record",
        "summary": "Update leads",
        "description": "Updates selected fields on a leads record.",
        "tags": [
          "Leads"
        ],
        "parameters": [
          {
            "name": "lead_id",
            "in": "path",
            "required": true,
            "description": "Leads ID.",
            "schema": {
              "type": "string"
            },
            "example": "lead_id_001"
          }
        ],
        "responses": {
          "200": {
            "description": "Leads updated",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "id": "lead_id_001",
                    "status": "active",
                    "updated_at": "2026-07-26T10:00:00Z"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "description": "Partial Leads fields.",
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "status": "active"
              }
            }
          }
        }
      }
    },
    "/deals": {
      "get": {
        "operationId": "crm-workflow-list",
        "summary": "List deal pipeline",
        "description": "Returns workflow records used by CRM Software.",
        "tags": [
          "Deal Pipeline"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Deal Pipeline returned",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "items": [
                      {
                        "id": "flow_001",
                        "name": "Deal Pipeline",
                        "status": "active"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/deals/actions": {
      "post": {
        "operationId": "crm-workflow-action",
        "summary": "Create deal pipeline action",
        "description": "Creates an operational action inside the deal pipeline workflow.",
        "tags": [
          "Deal Pipeline"
        ],
        "parameters": [],
        "responses": {
          "201": {
            "description": "Workflow action created",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "actionId": "act_001",
                    "status": "queued"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "description": "Workflow action payload.",
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "target_id": "lead_id_001",
                "action": "assign",
                "owner_id": "user_001",
                "note": "Assigned from API"
              }
            }
          }
        }
      }
    },
    "/reports/pipeline-summary": {
      "get": {
        "operationId": "crm-summary-report",
        "summary": "Pipeline summary report",
        "description": "Returns the pipeline summary report for a selected date range.",
        "tags": [
          "Reports"
        ],
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Start date in YYYY-MM-DD format.",
            "schema": {
              "type": "string"
            },
            "example": "2026-07-01"
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "End date in YYYY-MM-DD format.",
            "schema": {
              "type": "string"
            },
            "example": "2026-07-26"
          }
        ],
        "responses": {
          "200": {
            "description": "Report returned",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "from": "2026-07-01",
                    "to": "2026-07-26",
                    "totals": {
                      "records": 128,
                      "open": 18,
                      "closed": 110
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/reports/pipeline-summary/export": {
      "post": {
        "operationId": "crm-export-report",
        "summary": "Export report",
        "description": "Creates a downloadable CRM Software report export.",
        "tags": [
          "Reports"
        ],
        "parameters": [],
        "responses": {
          "202": {
            "description": "Export queued",
            "content": {
              "application/json": {
                "example": {
                  "data": {
                    "exportId": "exp_001",
                    "status": "processing"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "description": "Export options.",
          "required": true,
          "content": {
            "application/json": {
              "example": {
                "format": "csv",
                "from": "2026-07-01",
                "to": "2026-07-26"
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "apiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key"
      }
    }
  }
}
