# Opportunities

Operations related to opportunities

## Get all Opportunities

> Returns a list of opportunities with pagination support.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities":{"get":{"operationId":"PublicApiOpportunityController_getOpportunities","summary":"Get all Opportunities","description":"Returns a list of opportunities with pagination support.","parameters":[{"name":"page","required":false,"in":"query","description":"Page number to retrieve.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page.","schema":{"type":"number"}},{"name":"name","required":false,"in":"query","description":"Opportunity name to filter opportunities by (partial match).","schema":{"type":"string"}},{"name":"contactId","required":false,"in":"query","description":"Contact ID to filter opportunities by contact relationship.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiGetOpportunitiesResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiGetOpportunitiesResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicApiOpportunityDto"}}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the opportunity"},"name":{"type":"string","description":"Name of the opportunity"},"amount":{"type":"number","description":"Opportunity amount"},"finalAmount":{"type":"number","description":"Final opportunity amount"},"risk":{"type":"string","description":"Opportunity risk level","enum":["Low","Medium","High"]},"priority":{"type":"string","description":"Opportunity priority level","enum":["Low","Medium","High"]},"description":{"type":"string","description":"Opportunity description"},"featuredNotes":{"type":"string","description":"Featured notes for the opportunity"},"nextStep":{"type":"string","description":"Next step for the opportunity"},"closeDate":{"format":"date-time","type":"string","description":"Actual close date"},"closeProbability":{"type":"number","description":"Close probability (0-100)"},"status":{"type":"string","description":"Opportunity status","enum":["won","lost","open","archived","break"]},"createdAt":{"format":"date-time","type":"string","description":"Creation date"},"updatedAt":{"format":"date-time","type":"string","description":"Last update date"}},"required":["id","name","createdAt","updatedAt"]}}}}
```

## Create Opportunity

> Creates a new opportunity.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities":{"post":{"operationId":"PublicApiOpportunityController_createOpportunity","summary":"Create Opportunity","description":"Creates a new opportunity.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateOpportunityDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateOpportunityResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiCreateOpportunityDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the opportunity"},"amount":{"type":"number","description":"Opportunity amount"},"finalAmount":{"type":"number","description":"Final opportunity amount"},"risk":{"type":"string","description":"Opportunity risk level","enum":["Low","Medium","High"]},"priority":{"type":"string","description":"Opportunity priority level","enum":["Low","Medium","High"]},"description":{"type":"string","description":"Opportunity description"},"featuredNotes":{"type":"string","description":"Featured notes for the opportunity"},"nextStep":{"type":"string","description":"Next step for the opportunity"},"closeDate":{"format":"date-time","type":"string","description":"Actual close date"},"closeProbability":{"type":"number","description":"Close probability (0-100)"},"status":{"type":"string","description":"Opportunity status","enum":["won","lost","open","archived","break"]}},"required":["name"]},"PublicApiCreateOpportunityResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"$ref":"#/components/schemas/PublicApiOpportunityDto"}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the opportunity"},"name":{"type":"string","description":"Name of the opportunity"},"amount":{"type":"number","description":"Opportunity amount"},"finalAmount":{"type":"number","description":"Final opportunity amount"},"risk":{"type":"string","description":"Opportunity risk level","enum":["Low","Medium","High"]},"priority":{"type":"string","description":"Opportunity priority level","enum":["Low","Medium","High"]},"description":{"type":"string","description":"Opportunity description"},"featuredNotes":{"type":"string","description":"Featured notes for the opportunity"},"nextStep":{"type":"string","description":"Next step for the opportunity"},"closeDate":{"format":"date-time","type":"string","description":"Actual close date"},"closeProbability":{"type":"number","description":"Close probability (0-100)"},"status":{"type":"string","description":"Opportunity status","enum":["won","lost","open","archived","break"]},"createdAt":{"format":"date-time","type":"string","description":"Creation date"},"updatedAt":{"format":"date-time","type":"string","description":"Last update date"}},"required":["id","name","createdAt","updatedAt"]}}}}
```

## Get Opportunity by ID

> Get an opportunity by ID.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}":{"get":{"operationId":"PublicApiOpportunityController_getOpportunityById","summary":"Get Opportunity by ID","description":"Get an opportunity by ID.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to retrieve.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiGetOpportunityByIdResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiGetOpportunityByIdResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"$ref":"#/components/schemas/PublicApiOpportunityDto"}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the opportunity"},"name":{"type":"string","description":"Name of the opportunity"},"amount":{"type":"number","description":"Opportunity amount"},"finalAmount":{"type":"number","description":"Final opportunity amount"},"risk":{"type":"string","description":"Opportunity risk level","enum":["Low","Medium","High"]},"priority":{"type":"string","description":"Opportunity priority level","enum":["Low","Medium","High"]},"description":{"type":"string","description":"Opportunity description"},"featuredNotes":{"type":"string","description":"Featured notes for the opportunity"},"nextStep":{"type":"string","description":"Next step for the opportunity"},"closeDate":{"format":"date-time","type":"string","description":"Actual close date"},"closeProbability":{"type":"number","description":"Close probability (0-100)"},"status":{"type":"string","description":"Opportunity status","enum":["won","lost","open","archived","break"]},"createdAt":{"format":"date-time","type":"string","description":"Creation date"},"updatedAt":{"format":"date-time","type":"string","description":"Last update date"}},"required":["id","name","createdAt","updatedAt"]}}}}
```

## Update Opportunity

> Updates an existing opportunity.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}":{"put":{"operationId":"PublicApiOpportunityController_updateOpportunity","summary":"Update Opportunity","description":"Updates an existing opportunity.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to update.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiUpdateOpportunityDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiUpdateOpportunityResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiUpdateOpportunityDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the opportunity"},"amount":{"type":"number","description":"Opportunity amount"},"finalAmount":{"type":"number","description":"Final opportunity amount"},"risk":{"type":"string","description":"Opportunity risk level","enum":["Low","Medium","High"]},"priority":{"type":"string","description":"Opportunity priority level","enum":["Low","Medium","High"]},"description":{"type":"string","description":"Opportunity description"},"featuredNotes":{"type":"string","description":"Featured notes for the opportunity"},"nextStep":{"type":"string","description":"Next step for the opportunity"},"closeDate":{"format":"date-time","type":"string","description":"Actual close date"},"closeProbability":{"type":"number","description":"Close probability (0-100)"},"status":{"type":"string","description":"Opportunity status","enum":["won","lost","open","archived","break"]}}},"PublicApiUpdateOpportunityResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"$ref":"#/components/schemas/PublicApiOpportunityDto"}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the opportunity"},"name":{"type":"string","description":"Name of the opportunity"},"amount":{"type":"number","description":"Opportunity amount"},"finalAmount":{"type":"number","description":"Final opportunity amount"},"risk":{"type":"string","description":"Opportunity risk level","enum":["Low","Medium","High"]},"priority":{"type":"string","description":"Opportunity priority level","enum":["Low","Medium","High"]},"description":{"type":"string","description":"Opportunity description"},"featuredNotes":{"type":"string","description":"Featured notes for the opportunity"},"nextStep":{"type":"string","description":"Next step for the opportunity"},"closeDate":{"format":"date-time","type":"string","description":"Actual close date"},"closeProbability":{"type":"number","description":"Close probability (0-100)"},"status":{"type":"string","description":"Opportunity status","enum":["won","lost","open","archived","break"]},"createdAt":{"format":"date-time","type":"string","description":"Creation date"},"updatedAt":{"format":"date-time","type":"string","description":"Last update date"}},"required":["id","name","createdAt","updatedAt"]}}}}
```

## Delete Opportunity

> Deletes an opportunity by ID.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}":{"delete":{"operationId":"PublicApiOpportunityController_deleteOpportunity","summary":"Delete Opportunity","description":"Deletes an opportunity by ID.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to delete.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiDeleteOpportunityResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiDeleteOpportunityResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"boolean"}},"required":["statusCode","count","error","data"]}}}}
```

## Get Opportunity Integrations

> Returns a list of integrations for a given opportunity ID.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/integrations":{"get":{"operationId":"PublicApiOpportunityController_getOpportunityIntegrations","summary":"Get Opportunity Integrations","description":"Returns a list of integrations for a given opportunity ID.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to get integrations from.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiGetOpportunityIntegrationsResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiGetOpportunityIntegrationsResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"$ref":"#/components/schemas/PublicApiOpportunityIntegrationsResponseDto"}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityIntegrationsResponseDto":{"type":"object","properties":{"opportunityId":{"type":"string","description":"Opportunity ID"},"integrations":{"description":"List of opportunity integrations","type":"array","items":{"$ref":"#/components/schemas/PublicApiOpportunityIntegrationDto"}}},"required":["opportunityId","integrations"]},"PublicApiOpportunityIntegrationDto":{"type":"object","properties":{"integrationType":{"type":"string","description":"Integration type"},"integrationName":{"type":"string","description":"Integration name"},"integrationId":{"type":"string","description":"ID of the record in the integration"}},"required":["integrationType","integrationName","integrationId"]}}}}
```

## Get Opportunity Contacts

> Returns a list of contacts associated with an opportunity.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/contacts":{"get":{"operationId":"PublicApiOpportunityController_getOpportunityContacts","summary":"Get Opportunity Contacts","description":"Returns a list of contacts associated with an opportunity.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to get contacts from.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number to retrieve.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page.","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiGetOpportunityContactsResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiGetOpportunityContactsResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicApiOpportunityContactDto"}}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityContactDto":{"type":"object","properties":{"contactId":{"type":"string","description":"Contact ID"},"contactFirstName":{"type":"string","description":"Contact first name"},"contactLastName":{"type":"string","description":"Contact last name"},"contactEmail":{"type":"string","description":"Contact email"},"contactTitlePosition":{"type":"string","description":"Contact title/position"}},"required":["contactId","contactEmail"]}}}}
```

## Create Opportunity Contact Relationship

> Creates a relationship between an opportunity and a contact.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/contacts":{"post":{"operationId":"PublicApiOpportunityController_createOpportunityContact","summary":"Create Opportunity Contact Relationship","description":"Creates a relationship between an opportunity and a contact.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateOpportunityContactDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateOpportunityContactResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiCreateOpportunityContactDto":{"type":"object","properties":{"contactId":{"type":"string","description":"Contact ID"}},"required":["contactId"]},"PublicApiCreateOpportunityContactResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"boolean"}},"required":["statusCode","count","error","data"]}}}}
```

## Get Opportunity Companies

> Returns a list of companies associated with an opportunity.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/companies":{"get":{"operationId":"PublicApiOpportunityController_getOpportunityCompanies","summary":"Get Opportunity Companies","description":"Returns a list of companies associated with an opportunity.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to get companies from.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number to retrieve.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page.","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiGetOpportunityCompaniesResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiGetOpportunityCompaniesResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicApiOpportunityCompanyDto"}}},"required":["statusCode","count","error","data"]},"PublicApiOpportunityCompanyDto":{"type":"object","properties":{"companyId":{"type":"string","description":"Company ID"},"companyName":{"type":"string","description":"Company name"},"companyDomain":{"type":"string","description":"Company domain"},"isPrimary":{"type":"boolean","description":"Is primary company for this opportunity"}},"required":["companyId","companyName"]}}}}
```

## Create Opportunity Company Relationship

> Creates a relationship between an opportunity and a company.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/companies":{"post":{"operationId":"PublicApiOpportunityController_createOpportunityCompany","summary":"Create Opportunity Company Relationship","description":"Creates a relationship between an opportunity and a company.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateOpportunityCompanyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiCreateOpportunityCompanyResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiCreateOpportunityCompanyDto":{"type":"object","properties":{"companyId":{"type":"string","description":"Company ID"}},"required":["companyId"]},"PublicApiCreateOpportunityCompanyResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"boolean"}},"required":["statusCode","count","error","data"]}}}}
```

## Get Opportunity Meetings

> Returns meetings linked to the opportunity (via meeting-opportunity relations).

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/meetings":{"get":{"operationId":"PublicApiOpportunityController_getOpportunityMeetings","summary":"Get Opportunity Meetings","description":"Returns meetings linked to the opportunity (via meeting-opportunity relations).","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID to list meetings for.","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","description":"Page number to retrieve.","schema":{"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Number of items per page.","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiGetMeetingsResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiGetMeetingsResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicApiMeetingDto"}}},"required":["statusCode","count","error","data"]},"PublicApiMeetingDto":{"type":"object","properties":{"meetingId":{"type":"string","description":"Unique identifier for the meeting"},"status":{"type":"string","enum":["scheduled","processing","completed"],"description":"Current status of the meeting"},"name":{"type":"string","description":"Name or title of the meeting"},"startDateTime":{"format":"date-time","type":"string","description":"Date and time when the meeting is scheduled to start"},"endDateTime":{"format":"date-time","type":"string","description":"Date and time when the meeting ended "},"duration":{"type":"number","description":"Duration of the meeting in seconds"},"description":{"type":"string","description":"Detailed description of the meeting"},"mediaType":{"type":"string","enum":["videocall","presential","phonecall"],"description":"Media type of the meeting"},"language":{"type":"string","description":"Language of the meeting in ISO 639-1 format"},"thumbnailUrl":{"type":"string","description":"URL of the meeting thumbnail image"},"meetingType":{"description":"Meeting type associated with this meeting ","allOf":[{"$ref":"#/components/schemas/PublicApiMeetingTypeDto"}]},"aiScore":{"type":"number","description":"AI score or rating of the meeting "},"url":{"type":"string","description":"URL of the meeting"},"calendarEventId":{"type":"string","description":"Unique identifier of the calendar event, if the meeting is associated with a calendar event"}},"required":["meetingId","status","name","startDateTime","url"]},"PublicApiMeetingTypeDto":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the meeting type"},"name":{"type":"string","description":"Descriptive name of the meeting type"}},"required":["id","name"]}}}}
```

## Delete Opportunity Contact Relationship

> Deletes a relationship between an opportunity and a contact.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/contacts/{contactId}":{"delete":{"operationId":"PublicApiOpportunityController_deleteOpportunityContact","summary":"Delete Opportunity Contact Relationship","description":"Deletes a relationship between an opportunity and a contact.","parameters":[{"name":"id","required":true,"in":"path","description":"Opportunity ID.","schema":{"type":"string"}},{"name":"contactId","required":true,"in":"path","description":"Contact ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiDeleteOpportunityContactResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiDeleteOpportunityContactResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"boolean"}},"required":["statusCode","count","error","data"]}}}}
```

## Delete Opportunity Company Relationship

> Deletes a relationship between an opportunity and a company.

```json
{"openapi":"3.0.0","info":{"title":"Salescaling API","version":"1.0"},"tags":[{"name":"Opportunities","description":"Operations related to opportunities"}],"servers":[{"url":"https://api.salescaling.com","description":"Base API URL"}],"security":[{},{"bearer":[]}],"paths":{"/api/v1/opportunities/{id}/companies/{companyId}":{"delete":{"operationId":"PublicApiOpportunityController_deleteOpportunityCompany","summary":"Delete Opportunity Company Relationship","description":"Deletes a relationship between an opportunity and a company.","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"companyId","required":true,"in":"path","description":"Company ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiDeleteOpportunityCompanyResponseDto"}}}},"401":{"description":"Unauthorized - missing or invalid API key or Bearer token"}},"tags":["Opportunities"]}}},"components":{"schemas":{"PublicApiDeleteOpportunityCompanyResponseDto":{"type":"object","properties":{"statusCode":{"type":"number","default":200},"count":{"type":"number"},"error":{"type":"string","nullable":true},"data":{"type":"boolean"}},"required":["statusCode","count","error","data"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.salescaling.com/api/opportunities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
