---
title: "Create Opportunity"
method: POST
path: "/Opportunity"
tags: ["Opportunity"]
---

# Create Opportunity

`POST /Opportunity`

Create a new 'Opportunity' record.

## Headers

- `X-Skip-Duplicate-Check` 'true' | 'false'
- `X-Duplicate-Source-Id` string

## Request body

- OpportunityCreate
  - `id` string — An ID.
  - `name` string — A one-line string.
  - `amount` number — A currency amount.
  - `amountCurrency` 'USD' | 'EUR' — A code.
  - `amountConverted` number, nullable — A currency amount converted to the default currency.
  - `amountWeightedConverted` number, nullable
  - `accountId` string, nullable — An ID of the record of the Account type.
  - `accountName` string, nullable — A foreign record name.
  - `contactsIds` string[], nullable — IDs of records of the Contact type.
  - `contactsNames` object, nullable — An {ID => record name} map.
  - `contactsColumns` object, nullable — An {ID => object} map. Relationship column values.
  - `contactId` string, nullable — An ID of the record of the Contact type.
  - `contactName` string, nullable — A foreign record name.
  - `stage` 'Prospecting' | 'Qualification' | 'Proposal' | 'Negotiation' | 'Closed Won' | 'Closed Lost'
  - `lastStage` string
  - `probability` integer, nullable
  - `leadSource` 'Call' | 'Email' | 'Existing Customer' | 'Partner' | 'Public Relations' | 'Web Site' | 'Campaign' | 'Other', nullable
  - `closeDate` string, date — A date.
  - `description` string, nullable — A multi-line text.
  - `campaignId` string, nullable — An ID of the record of the Campaign type.
  - `campaignName` string, nullable — A foreign record name.
  - `originalLeadId` string, nullable — An ID of the record of the Lead type.
  - `originalLeadName` string, nullable — A foreign record name.
  - `contactRole` 'Decision Maker' | 'Evaluator' | 'Influencer', nullable
  - `createdAt` string, nullable — A timestamp in UTC.
  - `modifiedAt` string, nullable — A timestamp in UTC.
  - `createdById` string, nullable — An ID of the record of the User type.
  - `createdByName` string, nullable — A foreign record name.
  - `modifiedById` string, nullable — An ID of the record of the User type.
  - `modifiedByName` string, nullable — A foreign record name.
  - `assignedUserId` string, nullable — An ID of the record of the User type.
  - `assignedUserName` string, nullable — A foreign record name.
  - `teamsIds` string[], nullable — IDs of records of the Team type.
  - `teamsNames` object, nullable — An {ID => record name} map.
  - `streamUpdatedAt` string, nullable — A timestamp in UTC.

## Response `200`

Success.

- Opportunity
  - `id` string — An ID.
  - `name` string — A one-line string.
  - `amount` number — A currency amount.
  - `amountCurrency` 'USD' | 'EUR' — A code.
  - `amountConverted` number, nullable — A currency amount converted to the default currency.
  - `amountWeightedConverted` number, nullable
  - `accountId` string, nullable — An ID of the record of the Account type.
  - `accountName` string, nullable — A foreign record name.
  - `contactsIds` string[], nullable — IDs of records of the Contact type.
  - `contactsNames` object, nullable — An {ID => record name} map.
  - `contactsColumns` object, nullable — An {ID => object} map. Relationship column values.
  - `contactId` string, nullable — An ID of the record of the Contact type.
  - `contactName` string, nullable — A foreign record name.
  - `stage` 'Prospecting' | 'Qualification' | 'Proposal' | 'Negotiation' | 'Closed Won' | 'Closed Lost'
  - `lastStage` string
  - `probability` integer, nullable
  - `leadSource` 'Call' | 'Email' | 'Existing Customer' | 'Partner' | 'Public Relations' | 'Web Site' | 'Campaign' | 'Other', nullable
  - `closeDate` string, date — A date.
  - `description` string, nullable — A multi-line text.
  - `campaignId` string, nullable — An ID of the record of the Campaign type.
  - `campaignName` string, nullable — A foreign record name.
  - `originalLeadId` string, nullable — An ID of the record of the Lead type.
  - `originalLeadName` string, nullable — A foreign record name.
  - `contactRole` 'Decision Maker' | 'Evaluator' | 'Influencer', nullable
  - `createdAt` string, nullable — A timestamp in UTC.
  - `modifiedAt` string, nullable — A timestamp in UTC.
  - `createdById` string, nullable — An ID of the record of the User type.
  - `createdByName` string, nullable — A foreign record name.
  - `modifiedById` string, nullable — An ID of the record of the User type.
  - `modifiedByName` string, nullable — A foreign record name.
  - `assignedUserId` string, nullable — An ID of the record of the User type.
  - `assignedUserName` string, nullable — A foreign record name.
  - `teamsIds` string[], nullable — IDs of records of the Team type.
  - `teamsNames` object, nullable — An {ID => record name} map.
  - `streamUpdatedAt` string, nullable — A timestamp in UTC.

## Other responses

- `400` — Bad request. Might be a validation error. Check logs for details.
- `403` — Forbidden. Might be an access control error. Check logs for details.
- `409` — Conflict. May be a possible duplicate. Use X-Skip-Duplicate-Check to skip check.

---

[API](https://skmtc.net/espocrm/apis/espocrm-api.md) · [All operations](https://skmtc.net/espocrm/apis/espocrm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/espocrm/espocrm-api/revisions/6622dabfccd3/schema)
