Clozd Data API v1.0

Original version of the Clozd public Data API, limited to a single deal-and-participant import operation for pushing CRM opportunity data into a Clozd program. Superseded by v2.0 and v3.0. Authenticated with the x-api-token header.

OpenAPI Specification

clozd-data-api-v1-openapi.yml Raw ↑
info:
  contact:
    email: support@clozd.com
  description: Documentation on how to utilize the Clozd Data API.
  license:
    name: Public API v1.0
    url: ''
  termsOfService: https://www.clozd.com/privacy/terms-of-use
  title: Clozd Data API
  version: v1.0
openapi: 3.0.3
paths:
  /programs/{program_id}/deals/import:
    post:
      description: "Public API to import 1 or many deals and 0 or many participants associated with the deal. Make sure the header is set with a key value pair being Key: x-api-token Value: (api token provided from the settings section within the Clozd application). The body of the post request will follow the schema below. If an attribute is required or a wrong value type is provided the POST request will be rolled back and rejected. \n - Program id is required, you can get the program id from the settings page within the Clozd app. \n - Custom fields are acceptable. The key name must match the name of the field name created in Clozd app exactly. \n - Participants are included within the deal object \n - Names of properties and display names are not always the same"
      summary: Public API to import Clozd deal and participant data
      operationId: post-deals-op
      security:
      - apiKey: []
      responses:
        '200':
          description: Successful import operation
          content:
            application/json:
              schema:
                description: Success response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Success message
                    type: string
                  data:
                    description: Data
                    type: object
                    properties:
                      result:
                        description: Result
                        type: string
                example:
                  success: true
                  message: Successfully imported deal data.
                  data:
                    result: 'Created Deals: 1 Updated Deals: 0'
        '400':
          description: Failed operation (Bad Request)
          content:
            application/json:
              schema:
                description: Bad Request response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Error message
                    type: string
                  errorCode:
                    description: Error code
                    type: string
                  data:
                    description: Data
                    type: object
                    properties: {}
                example:
                  success: false
                  message: Bad Request.
                  errorCode: API009
                  data: {}
        '401':
          description: Failed operation (Unauthorized)
          content:
            application/json:
              schema:
                description: Unauthorized response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Error message
                    type: string
                  errorCode:
                    description: Error code
                    type: string
                  data:
                    description: Data
                    type: object
                    properties: {}
                example:
                  success: false
                  message: Not authorized.
                  errorCode: AUTH005
                  data: {}
        400-API009:
          description: Failed operation (Missing or invalid API parameters)
          content:
            application/json:
              schema:
                description: Missing or invalid API parameters response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Error message
                    type: string
                  errorCode:
                    description: Error code
                    type: string
                  data:
                    description: Data
                    type: object
                    properties:
                      field:
                        description: Missing or invalid field namne
                        type: string
                      value:
                        description: Invalid value
                        type: string
                      possibleValues:
                        description: Possible values
                        type: string
                example:
                  success: false
                  message: Missing or invalid API parameters.
                  errorCode: API009
                  data:
                    field: clozd_outcome_type
                    value: win
                    possibleValues: '"new business win", "new business loss", "renewal", "churn", "expansion", "upsell", "customer experience"'
        400-API010:
          description: Failed operation (Clozd Id doesn't match)
          content:
            application/json:
              schema:
                description: Clozd Id doesn't match response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Error message
                    type: string
                  errorCode:
                    description: Error code
                    type: string
                  data:
                    description: Data
                    type: object
                    properties:
                      deal_id:
                        description: Non-matching Clozd Id
                        type: string
                example:
                  success: false
                  message: If a clozd generated id is provided, this indicates you are trying to update an existing record and the id must match an existing id. One of the provided id's does not have any matches.
                  errorCode: API010
                  data:
                    deal_id: a1bb3107-6909-43bd-a669-0ed5c399c783
        400-API011:
          description: Failed operation (Attribute not a defined field)
          content:
            application/json:
              schema:
                description: Attribute not a defined field response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Error message
                    type: string
                  errorCode:
                    description: Error code
                    type: string
                  data:
                    description: Data
                    type: object
                    properties:
                      field:
                        description: Attribute name which is not a field
                        type: string
                example:
                  success: false
                  message: One of the attributes on the deal or participant object does not exist as a field, you can add a field in the app under the configurations section.
                  errorCode: API011
                  data:
                    field: clozd_not_a_field
        400-API012:
          description: Failed operation (Required field missing)
          content:
            application/json:
              schema:
                description: Required field missing response
                type: object
                properties:
                  success:
                    description: Success flag
                    type: boolean
                  message:
                    description: Error message
                    type: string
                  errorCode:
                    description: Error code
                    type: string
                  data:
                    description: Data
                    type: object
                    properties:
                      requiredField:
                        description: Name of missing required field
                        type: string
                example:
                  success: false
                  message: One of the fields that is configured as required is missing.
                  errorCode: API012
                  data:
                    requiredField: clozd_amount
      tags:
      - /programs/:program_id/deals/import
      parameters:
      - description: Clozd program ID (min:36 chars, max:36 chars)
        in: path
        name: program_id
        required: true
        schema:
          description: Clozd program ID (min:36 chars, max:36 chars)
          minLength: 36
          maxLength: 36
          type: string
          format: uuid
        example: 2427ee0e-fc37-4537-ae83-b648d5a7c7f5
      requestBody:
        description: Deal data to import to Clozd Platform
        content:
          application/json:
            schema:
              description: Deal data to import to Clozd Platform
              type: object
              properties:
                import_name:
                  description: The name of your import, defaults to 'Clozd Data API' if nothing provided
                  type: string
                all_deals:
                  description: Array of deal objects for importing (minItems:1, maxItems:1000)
                  minItems: 1
                  maxItems: 1000
                  type: array
                  items:
                    $ref: '#/components/schemas/Deal'
            example:
              import_name: 2022 Deals Import
              all_deals:
              - clozd_amount: 10000
                clozd_closed_date: '2022-01-09T18:57:08.485Z'
                clozd_created_date: '2022-03-09T18:57:08.485Z'
                clozd_currency: USD
                clozd_deal_name: ACME, Inc.
                clozd_external_id: '0000001'
                clozd_headcount: 12
                clozd_industry: SAAS
                clozd_lead_source: SDR
                clozd_organization_domain: acme.com
                clozd_organization_name: ACME, Inc.
                clozd_outcome: win
                clozd_outcome_type: churn
                clozd_products:
                - Flagship
                clozd_region: East
                clozd_revenue: 10000
                clozd_sales_rep_email: rep@sales.com
                clozd_sales_rep_name: Sales Rep
                clozd_participants:
                - clozd_participant_external_id: '0000002'
                  clozd_participant_first_name: First
                  clozd_participant_last_name: Last
                  clozd_participant_email: participant@email.com
                  clozd_participant_type: buyer
                  clozd_participant_is_primary: true
                  clozd_participant_phone: 888-111-2222
                  clozd_participant_title: Chief Buyer
                  clozd_participant_role: Buying Agent
servers:
- description: Clozd API v1.0
  url: https://app.clozd.com/public-api/v1
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-token
  schemas:
    Participant:
      description: An array of participant objects included in the deal under the clozd_participants attribute
      type: object
      properties:
        clozd_participant_id:
          description: Clozd generated participant id (min:36 chars, max:36 chars)
          type: string
          format: uuid
        clozd_participant_external_id:
          description: Your id for this participant. This is not generated by Clozd. If you have existing participants with the same external id, they will be updated with the import
          type: string
        clozd_participant_first_name:
          description: First name of participant
          type: string
        clozd_participant_last_name:
          description: Last name of participant
          type: string
        clozd_participant_email:
          description: The email for the participant of the deal
          format: email
          type: string
        clozd_participant_type:
          description: Specifying if the person is a buyer or a sales participant values are 'buyer' or 'sales'
          enum:
          - buyer
          - sales
          type: string
        clozd_participant_is_primary:
          description: Is the participant the primary participant for the deal
          type: boolean
        clozd_participant_phone:
          description: Phone number for the pariticipant
          type: string
        clozd_participant_title:
          description: Job title of the participant
          type: string
        clozd_participant_role:
          description: The role the participant had in the deal
          type: string
    Deal:
      description: An array of deal objects
      type: object
      properties:
        clozd_deal_name:
          description: The name of the deal
          type: string
        clozd_external_id:
          description: Your id for this deal. This is not generated by Clozd. If you have existing deals with the same external id, they will be updated with the import
          type: string
        clozd_organization_domain:
          description: 'Deal domain example: www.clozd.com'
          type: string
        clozd_organization_name:
          description: Clozd organization name (max:250 chars)
          type: string
        clozd_deal_id:
          description: Clozd generated deal id (min:36 chars, max:36 chars)
          type: string
          format: uuid
        clozd_amount:
          description: This reflects how much the deal was for
          format: double
          type: number
        clozd_closed_date:
          description: When the deal was closed (max:25 chars, ISO8601 date-time format)
          format: date-time
          type: string
        clozd_created_date:
          description: When the deal was created (max:25 chars, ISO8601 date-time format)
          format: date-time
          type: string
        clozd_currency:
          description: The type of currency used in this deal
          type: string
        clozd_headcount:
          description: Head count for the deal
          format: int64
          type: integer
        clozd_industry:
          description: Industry from a picklist of values in the Clozd app
          type: string
        clozd_lead_source:
          description: Lead source to the deal
          type: string
        clozd_outcome:
          description: Reflects the outcome of the deal allowed values are 'win' or 'loss'
          enum:
          - win
          - loss
          type: string
        clozd_outcome_type:
          description: What type of deal was the outcome affecting
          type: string
        clozd_region:
          description: Region for the deal, must be a value from the picklist in Clozd app
          type: string
        clozd_revenue:
          description: This is the revenue for the deal
          format: double
          type: number
        clozd_sales_rep_email:
          description: The email for the sales rep for the deal
          format: email
          type: string
        clozd_sales_rep_name:
          description: The name of the sales rep for the deal
          type: string
        clozd_products:
          description: 'An array of products, if there is only one product, an array of one ie: [''product'']'
          type: array
          items:
            description: Parameter without description.
            type: string
        clozd_participants:
          description: List of participants that belong to the deal (maxItems:1000)
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/Participant'