Skip to main content
BlueAI
Home/CRM/Deals

Deals

Create, update, and manage deals including stage management and activity history.

|

Endpoints

GET/api/v1/crm/dealsList deals
POST/api/v1/crm/dealsCreate a deal
GET/api/v1/crm/deals/{id}Get deal details
PATCH/api/v1/crm/deals/{id}Update a deal
DELETE/api/v1/crm/deals/{id}Delete a deal
POST/api/v1/crm/deals/{id}/stageUpdate deal stage
GET/api/v1/crm/deals/{id}/activitiesGet deal activities
GET/api/v1/crm/deals

List deals

Retrieve deals within the organization with pagination. Supports search, sort, and stage filtering.

Authentication requiredInclude session cookie or Bearer token

Query Parameters

NameTypeRequiredDescription
limit
integerOptionalNumber of items per page (default: 50, max: 200)
offset
integerOptionalNumber of items to skip
search
stringOptionalPartial match search by deal name
sort
stringOptionalSort key (created_at, updated_at, name, amount)
order
stringOptionalSort order (asc / desc, default: desc)
stage
stringOptionalFilter by stage

Response Fields

NameTypeRequiredDescription
Deal[]OptionalArray of deals
total
numberOptionalTotal count
limit
numberOptionalItems per page
offset
numberOptionalNumber of items skipped

Code Examples

curl "https://api.blueai.jp/api/v1/crm/deals" \
  -H "Cookie: better-auth.session_token=<token>"

Response Example

{
  "items": [
    {
      "id": "deal_11111111111111111111111111111111",
      "name": "株式会社A 年間契約",
      "amount": 1200000,
      "stage": "proposal",
      "company_id": "comp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "contact_id": "cont_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
      "assigned_member_id": "usr_99999999999999999999999999999999",
      "expected_close_date": "2026-03-31",
      "probability": 60,
      "lost_reason": null,
      "won_date": null,
      "currency": "JPY",
      "created_at": "2026-01-15T09:00:00Z",
      "updated_at": "2026-02-10T14:30:00Z"
    }
  ],
  "total": 42,
  "limit": 50,
  "offset": 0
}
POST/api/v1/crm/deals

Create a deal

Create a new deal.

Authentication requiredInclude session cookie or Bearer token

Request Body

NameTypeRequiredDescription
name
stringRequiredDeal name
amount
numberOptionalAmount (JPY)
stage
stringOptionalInitial stage (default: lead)
company_id
stringOptionalAssociated company ID
contact_id
stringOptionalAssociated contact ID
assigned_member_id
stringOptionalAssigned member ID
expected_close_date
stringOptionalExpected close date (YYYY-MM-DD)
probability
numberOptionalWin probability (0-100)
currency
stringOptionalCurrency code (default: JPY)
note
stringOptionalNote

Response Fields

NameTypeRequiredDescription
DealOptionalCreated deal

Code Examples

curl -X POST "https://api.blueai.jp/api/v1/crm/deals" \
  -H "Cookie: better-auth.session_token=<token>" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "株式会社A 年間契約",
  "amount": 1200000,
  "stage": "lead",
  "company_id": "comp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "contact_id": "cont_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
  "expected_close_date": "2026-03-31"
}'

Response Example

{
  "deal": {
    "id": "deal_11111111111111111111111111111111",
    "name": "株式会社A 年間契約",
    "amount": 1200000,
    "stage": "proposal",
    "company_id": "comp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "contact_id": "cont_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "assigned_member_id": "usr_99999999999999999999999999999999",
    "expected_close_date": "2026-03-31",
    "probability": 60,
    "lost_reason": null,
    "won_date": null,
    "currency": "JPY",
    "created_at": "2026-01-15T09:00:00Z",
    "updated_at": "2026-02-10T14:30:00Z"
  }
}
GET/api/v1/crm/deals/{id}

Get deal details

Retrieve detailed information for the specified deal.

Authentication requiredInclude session cookie or Bearer token

Path Parameters

NameTypeRequiredDescription
id
stringRequiredDeal ID

Response Fields

NameTypeRequiredDescription
DealOptionalDeal details

Code Examples

curl "https://api.blueai.jp/api/v1/crm/deals/deal_123e4567e89b12d3a456426614174000" \
  -H "Cookie: better-auth.session_token=<token>"

Response Example

{
  "deal": {
    "id": "deal_11111111111111111111111111111111",
    "name": "株式会社A 年間契約",
    "amount": 1200000,
    "stage": "proposal",
    "company_id": "comp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "contact_id": "cont_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "assigned_member_id": "usr_99999999999999999999999999999999",
    "expected_close_date": "2026-03-31",
    "probability": 60,
    "lost_reason": null,
    "won_date": null,
    "currency": "JPY",
    "created_at": "2026-01-15T09:00:00Z",
    "updated_at": "2026-02-10T14:30:00Z"
  }
}
PATCH/api/v1/crm/deals/{id}

Update a deal

Update information for the specified deal. Only submitted fields are updated.

Authentication requiredInclude session cookie or Bearer token

Path Parameters

NameTypeRequiredDescription
id
stringRequiredDeal ID

Request Body

NameTypeRequiredDescription
name
stringOptionalDeal name
amount
numberOptionalAmount (JPY)
stage
stringOptionalStage
company_id
stringOptionalAssociated company ID
contact_id
stringOptionalAssociated contact ID
assigned_member_id
stringOptionalAssigned member ID
expected_close_date
stringOptionalExpected close date (YYYY-MM-DD)
probability
numberOptionalWin probability (0-100)
lost_reason
stringOptionalLost reason
won_date
stringOptionalWon date (ISO 8601)
currency
stringOptionalCurrency code (default: JPY)
note
stringOptionalNote

Response Fields

NameTypeRequiredDescription
DealOptionalUpdated deal

Code Examples

curl -X PATCH "https://api.blueai.jp/api/v1/crm/deals/deal_123e4567e89b12d3a456426614174000" \
  -H "Cookie: better-auth.session_token=<token>" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "株式会社A 年間契約(更新)",
  "amount": 1500000
}'

Response Example

{
  "deal": {
    "id": "deal_11111111111111111111111111111111",
    "name": "株式会社A 年間契約(更新)",
    "amount": 1500000,
    "stage": "proposal",
    "company_id": "comp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "contact_id": "cont_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "assigned_member_id": "usr_99999999999999999999999999999999",
    "expected_close_date": "2026-03-31",
    "probability": 60,
    "lost_reason": null,
    "won_date": null,
    "currency": "JPY",
    "created_at": "2026-01-15T09:00:00Z",
    "updated_at": "2026-02-10T14:30:00Z"
  }
}
DELETE/api/v1/crm/deals/{id}

Delete a deal

Delete the specified deal.

Authentication requiredInclude session cookie or Bearer token

Path Parameters

NameTypeRequiredDescription
id
stringRequiredDeal ID

Response Fields

NameTypeRequiredDescription
success
booleanOptionalDeletion success flag

Code Examples

curl -X DELETE "https://api.blueai.jp/api/v1/crm/deals/deal_123e4567e89b12d3a456426614174000" \
  -H "Cookie: better-auth.session_token=<token>"

Response Example

{
  "success": true
}
POST/api/v1/crm/deals/{id}/stage

Update deal stage

Change only the deal stage. Used for kanban board drag-and-drop operations.

Authentication requiredInclude session cookie or Bearer token

Path Parameters

NameTypeRequiredDescription
id
stringRequiredDeal ID

Request Body

NameTypeRequiredDescription
stage
stringRequiredTarget stage (lead, qualification, proposal, negotiation, closed_won, closed_lost)

Response Fields

NameTypeRequiredDescription
DealOptionalUpdated deal

Code Examples

curl -X POST "https://api.blueai.jp/api/v1/crm/deals/deal_123e4567e89b12d3a456426614174000/stage" \
  -H "Cookie: better-auth.session_token=<token>" \
  -H "Content-Type: application/json" \
  -d '{
  "stage": "proposal"
}'

Response Example

{
  "deal": {
    "id": "deal_11111111111111111111111111111111",
    "name": "株式会社A 年間契約",
    "amount": 1200000,
    "stage": "proposal",
    "company_id": "comp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "contact_id": "cont_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
    "assigned_member_id": "usr_99999999999999999999999999999999",
    "expected_close_date": "2026-03-31",
    "probability": 60,
    "lost_reason": null,
    "won_date": null,
    "currency": "JPY",
    "created_at": "2026-01-15T09:00:00Z",
    "updated_at": "2026-02-10T14:30:00Z"
  }
}
GET/api/v1/crm/deals/{id}/activities

Get deal activities

Retrieve the activity history for the specified deal.

Authentication requiredInclude session cookie or Bearer token

Path Parameters

NameTypeRequiredDescription
id
stringRequiredDeal ID

Query Parameters

NameTypeRequiredDescription
page
numberOptionalPage number (default: 1)
limit
numberOptionalItems per page (default: 20)

Response Fields

NameTypeRequiredDescription
Activity[]OptionalArray of activities
total
numberOptionalTotal count

Code Examples

curl "https://api.blueai.jp/api/v1/crm/deals/deal_123e4567e89b12d3a456426614174000/activities" \
  -H "Cookie: better-auth.session_token=<token>"

Response Example

{
  "activities": [
    {
      "id": "act_cccccccccccccccccccccccccccccccc",
      "type": "note",
      "content": "初回ヒアリング実施。予算感は1000万円前後。",
      "deal_id": "deal_11111111111111111111111111111111",
      "contact_id": null,
      "created_by": "usr_99999999999999999999999999999999",
      "created_at": "2026-02-10T14:30:00Z"
    }
  ],
  "total": 5
}