> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getoutbox.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Opportunity

> Create a new opportunity in a specific pipeline + stage. If `status` is omitted it's inferred from the stage (won/lost/open).



## OpenAPI

````yaml POST /crm/opportunities/
openapi: 3.1.0
info:
  title: Outbox AI API
  description: API for managing AI agents (chatbots and voicebots) on the Outbox platform
  version: 1.0.0
servers:
  - url: https://api.getoutbox.ai
security: []
paths:
  /crm/opportunities/:
    post:
      tags:
        - crm
      summary: Create Opportunity
      description: >-
        Create a new opportunity in a specific pipeline + stage. If `status` is
        omitted it's inferred from the stage (won/lost/open).
      operationId: crm_opportunities_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpportunityCreateRequestRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OpportunityCreateRequestRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/OpportunityCreateRequestRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
          description: Opportunity created.
        '400':
          description: Missing required fields, or invalid `value`/`score`.
        '404':
          description: Pipeline, stage, or contact not found in this company.
      security:
        - jwtAuth: []
        - {}
components:
  schemas:
    OpportunityCreateRequestRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
        pipeline_id:
          type: string
          format: uuid
        stage_id:
          type: string
          format: uuid
        contact_id:
          type: string
          format: uuid
          nullable: true
        status:
          $ref: '#/components/schemas/OpportunityCreateRequestStatusEnum'
        score:
          type: integer
          maximum: 100
          minimum: 0
          nullable: true
        value:
          type: string
          format: decimal
          pattern: ^-?\d{0,16}(?:\.\d{0,2})?$
          nullable: true
        notes:
          type: string
      required:
        - name
        - pipeline_id
        - stage_id
    OpportunityCreateRequestStatusEnum:
      enum:
        - open
        - won
        - lost
      type: string
      description: |-
        * `open` - open
        * `won` - won
        * `lost` - lost
  securitySchemes:
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````