---
openapi: 3.1.0
info:
  title: Wingmate Api
  version: v1
  description: Welcome to the Wingmate OpenAPI documentation. This documentation outlines
    how to use the Wingmate API for integrations at a Campaign (a.k.a. Pipeline) access
    level.  To retrieve an API code for testing, please follow <a target="_blank"
    href="https://support.wingmateapp.com/hc/en-us/articles/32035342435853-Retrieving-your-Pipeline-API-Access-Token">this
    article</a>.
components:
  securitySchemes:
    auth_token:
      type: apiKey
      name: auth_token
      description: The authorization token for the user
      in: query
    authorization:
      type: apiKey
      name: authorization
      description: The authorization token for the campaign or company
      in: query
  schemas:
    Action:
      type: object
      properties:
        created_at:
          type: number
          format: date-time
          description: The date/time the Contact was created at represented as an
            integer
        id:
          type: integer
          description: The ID of the Action.
        fulfilling_comment:
          "$ref": "#/components/schemas/Comment"
        lead:
          "$ref": "#/components/schemas/Lead"
        text:
          type: string
          description: The text of the action request
        user:
          "$ref": "#/components/schemas/User"
        user_id:
          type: integer
          description: The ID of the user who generated the action request
      required:
      - text
      - user_id
    Approval Request:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the Approval Request.
        field:
          type: string
          description: The field for approval
        created_at:
          type: number
          format: date-time
          description: The date/time the Approval Request was created at represented
            as an integer
        lead:
          "$ref": "#/components/schemas/Lead"
        item:
          oneOf:
          - "$ref": "#/components/schemas/Lead"
          - "$ref": "#/components/schemas/Purchase"
        created_by:
          "$ref": "#/components/schemas/User"
    Attachment:
      type: object
      properties:
        attachment_type:
          type: string
          description: The file type for the attachment
        created_at:
          type: number
          format: date-time
          description: The date/time the Attachment was created at represented as
            an integer
        filename:
          type: string
          description: The filename for the attachment
        id:
          type: integer
          description: The ID of the Attachment.
        lead_id:
          type: string
          description: The ID of the Lead the Attachment is associated with
        name:
          type: string
          description: A name for the attachment
        text:
          type: string
          description: The text for the attachment
        type:
          type: string
          description: The Type of the Attachment (if generated via EasyDocs, it will
            be a Document)
        user_id:
          type: string
          description: The ID of the User who created the Attachment
    Campaign:
      type: object
      properties:
        amount_unit:
          type: string
          enum:
          - currency
          - currency_gbp
          - currency_week
          - currency_month
          - weight_kg
          - weight_lbs
          - weight_tonnes
          description: The unit of the 'amount' field
        created_at:
          type: number
          format: date-time
          description: The date/time the Campaign was created at represented as an
            integer
        custom_fields:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: The ID of the Custom Field
              name:
                type: string
                description: The visible name of the Custom Field in the UI
              description:
                type: string
                description: Optional help text for the Custom Field (max 120 characters)
              type:
                type: string
                enum:
                - text
                - select
                - multiselect
                - number
                - date
                - datetime
                - sic
                - naics
                - table
                description: The type of the custom field
              required:
                type: string
                enum:
                - fresh
                - received_by_sales
                - work_in_progress
                - pending_decision
                - contract_signed
                - completed
                - failed
                - hibernated
                description: The stage the Custom Field is required to be filled in
                  by
              platform:
                type: string
                enum:
                - both
                - web
                - integrations
                description: Who can see/update the Custom Field. 'both' is all Users,
                  'web' is Sales/Managers only, and 'integrations' is only visible
                  in the API
              ui:
                type: string
                enum:
                - all
                - update
                description: Which forms the field is visible in. Use 'all' to have
                  the field visible in both the create and edit Lead Forms. Use 'update'
                  to show the field in the edit Lead form only
              section:
                type: string
                description: The ID of the section the Custom Field will display under.
                  If the ID does not match one of the values in lead_sections, it
                  will display in the General Info section
              default:
                type: string
                description: The default value of the Custom Field
              options:
                type: array
                description: An array of values the Custom Field can be. Used and
                  required for only select and multiselect Custom Fields
              columns:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: The ID of the Column
                    name:
                      type: string
                      description: The visible name of the Column in the UI
                    description:
                      type: string
                      description: Optional help text for the Column (max 120 characters)
                    type:
                      type: string
                      enum:
                      - text
                      - select
                      - multiselect
                      - number
                      - date
                      - datetime
                      - sic
                      - naics
                      - table
                      description: The type of the Column
                description: The columns of the table Custom Field. Required and used
                  only by the table type Custom Field
          description: List of custom fields for a campaign
        contact_fields:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: The ID of the Contact Custom Field
              name:
                type: string
                description: The visible name of the Contact Custom Field in the UI
              description:
                type: string
                description: Optional help text for the Contact Custom Field (max
                  120 characters)
              type:
                type: string
                enum:
                - text
                - select
                - multiselect
                - number
                - date
                - datetime
                description: The type of the contact custom field
              default:
                type: string
                description: The default value of the Contact Custom Field
              options:
                type: array
                description: An array of values the Contact Custom Field can be. Used
                  and required for only select and multiselect types
          description: List of custom fields for contacts on a campaign
        name:
          type: string
          description: The name of the campaign
        label_for_lead:
          type: string
          description: The label name for the Lead object on the Campaign
        logo_url:
          type: string
          description: The url to the campaign's logo
    Comment:
      type: object
      properties:
        address:
          type: string
          description: The address where the Comment was generated (this is automatically
            generated if latitude/longitude are specified)
        attachment_urls:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: The UI name of the attachment
              url:
                type: string
                description: The URL to access the attachment
              attachment_type:
                type: string
                description: The file type of the attachment
          description: An array of URLs to images attached to the Comment
        created_at:
          type: number
          format: date-time
          description: The date/time the Comment was created at represented as an
            integer
        disable_webhooks:
          type: boolean
          description: Condition for deciding whether to disable webhook for the Comment
        external_id:
          type: string
          description: An optional external Identifier to uniquely identify the Comment
            in integration systems
        fulfilled_action_id:
          type: integer
          description: The ID of the action which this Comment fulfills
        id:
          type: number
          description: The ID of the Comment
        text:
          type: string
          description: The text of the Comment
        type:
          type: string
          enum:
          - Comment
          - PhoneCorrespondence
          - EmailCorrespondence
          - InpersonCorrespondence
          - SocialCorrespondence
          - ColdCorrespondence
          description: The type of Update
        latitude:
          type: number
          format: decimal
          description: The latitude coordinate the Comment was created at
        lead_id:
          type: string
          description: The ID of the Lead the Comment is associated with
        longitude:
          type: number
          format: decimal
          description: The longitude coordinate the Comment was created at
        recording_url:
          type: string
          description: A URL to an mp3 recording for the Comment
        user_id:
          type: integer
          description: The ID of the user who created the Comment
    Contact:
      type: object
      properties:
        campaign_id:
          type: number
          format: integer
          description: The ID of the Campaign the Contact is on
        created_at:
          type: number
          format: date-time
          description: The date/time the Contact was created at represented as an
            integer
        custom_fields:
          type: object
          description: A hash of values for your campaign's Custom Fields for the
            contact
        disable_webhooks:
          type: boolean
          description: Condition for deciding whether to disable webhook for the object
            in any PUT, POST or DELETE requests
        email:
          type: string
          description: The Email address of the Contact
        id:
          type: string
          description: The ID of the Contact
        lead:
          "$ref": "#/components/schemas/Lead"
        lead_id:
          type: string
          description: The ID of the Lead the Contact is associated with
        name:
          type: string
          description: The Name of the Contact
        primary_contact:
          type: boolean
          description: A boolean field representing if the Contact is the decision
            maker for the Lead or not
        updated_at:
          type: number
          format: date-time
          description: The date/time the Contact was last updated at represented as
            an integer
    Contract:
      type: object
      properties:
        campaign_id:
          type: number
          format: integer
          description: The ID of the Campaign the Contract is from
        created_at:
          type: number
          format: date-time
          description: The date/time the Contract was created at represented as an
            integer
        id:
          type: string
          description: The ID of the Contract
        level:
          type: string
          enum:
          - white
          - green
          - gold
          - previous_gold
          description: The level of Wingmate Pro the user has acheived
        points_remaining_to_pro:
          type: number
          format: integer
          description: The number of points remaining for the user to acheive Wingmate
            Pro on this Campaign
        progress:
          type: number
          description: The % progress the user is to Wingmate Pro on this Campaign,
            represented as a decimal
        user_id:
          type: number
          format: integer
          description: The ID of the User who the Contract is for
    Endpoint:
      type: object
      properties:
        additional_headers:
          type: object
          description: A dictionary of headers to include with the URL
        campaign_id:
          type: number
          format: integer
          description: The ID of the Campaign the Endpoint is from
        events:
          type: array
          items:
            type: string
          description: A list of Webhook events that trigger this Endpoint when they
            happen
        id:
          type: string
          description: The ID of the Endpoint
        target_url:
          type: string
          description: The URL to be requested with when the Webhook event(s) of the
            Endpoint occurs
    Error:
      type: object
      properties:
        id:
          type: string
          description: An identifier of the cause of the Error.
        type:
          type: string
          description: The type of Error (i.e. Forbidden, Not Found, etc.)
        label:
          type: string
          description: A readable name for the Error
        message:
          type: string
          description: A readable description of the Error
    Group:
      type: object
      properties:
        created_by_id:
          type: number
          format: integer
          description: The ID of the User who created the Group
        created_at:
          type: number
          format: date-time
          description: The date/time the Group was created at represented as an integer
        id:
          type: string
          description: The ID of the Group
        members:
          type: array
          items:
            "$ref": "#/components/schemas/User"
    Notification:
      type: object
      properties:
        created_at:
          type: number
          format: date-time
          description: The date/time the Notification was created at represented as
            an integer
        id:
          type: string
          description: The ID of the Notification
        lead:
          "$ref": "#/components/schemas/Lead"
        lead_id:
          type: integer
          description: An associated Lead for the Notification
        text:
          type: string
          description: The text of the Notification
        viewed:
          type: boolean
          description: A boolean representing whether the user has marked the Notification
            viewed
    Reminder:
      type: object
      properties:
        address:
          type: string
          description: The address where the Reminder was generated at (this is automatically
            generated if latitude/longitude are specified)
        cancelled_at:
          type: number
          format: date-time
          description: The date/time the Reminder was marked cancelled represented
            as an integer
        completed_at:
          type: number
          format: date-time
          description: The date/time the Reminder was marked completed represented
            as an integer
        created_at:
          type: number
          format: date-time
          description: The date/time the Reminder was created at represented as an
            integer
        created_by_id:
          type: integer
          description: The ID of the User that created the Reminder
        custom_type:
          type: string
          description: The ID of the custom type of the Reminder, matching one from
            Campaign.reminder_types
        description:
          type: string
          description: The text of the Reminder
        external_id:
          type: string
          description: An optional external identifier to uniquely identify the Reminder
            in integration systems
        id:
          type: string
          description: The ID of the Reminder
        lead:
          "$ref": "#/components/schemas/Lead"
        lead_id:
          type: integer
          description: An associated Lead for the Reminder
        latitude:
          type: number
          format: decimal
          description: The latitude coordinate the Reminder was created at
        longitude:
          type: number
          format: decimal
          description: The longitude coordinate the Reminder was created at
        starts_at:
          type: string
          format: date-time
          description: The date/time that the Reminder is for
        status:
          type: string
          enum:
          - active
          - completed
          - cancelled
          - overdue
          description: The current state of the Reminder
        user_id:
          type: integer
          description: DEPRECATED, The ID of the User that the Reminder is for
        user_ids:
          type: array
          items:
            type: integer
          description: The IDs of the Users that the Reminder is for
    Ownership:
      type: object
      properties:
        lead_id:
          type: integer
          description: The ID of the Lead
        id:
          type: integer
          description: The ID of the Ownership
        user_id:
          type: integer
          description: The ID of the User
    Price Sheet:
      type: object
      properties:
        created_at:
          type: number
          format: date-time
          description: The date/time the Price Sheet was created at represented as
            an integer
        id:
          type: string
          description: The ID of the Price Sheet
        label:
          type: string
          description: The name of the Price Sheet
        owner_id:
          type: integer
          description: The ID of the Campaign or Company that owns the Price Sheet
        owner_type:
          type: string
          enum:
          - Campaign
          - Company
          description: Whether the Price Sheet is owned by a Campaign or a Company
        purchasable_custom_fields:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique ID of the Price Sheet, unique per Price Sheet
              name:
                type: string
                description: The name of the Custom Field
              options:
                type: array
                items:
                  type: string
                description: The available options of the Custom Field. Used only
                  for select and multiselect Custom Fields
              type:
                type: string
                enum:
                - text
                - select
                - multiselect
                - decimal
                - integer
                description: The type of the Custom Field
              required:
                type: boolean
                description: A boolean representing whether the field is required
                  or not when creating a Purchasable
          description: The Custom Fields on the Purchasable object for the given Price
            Sheet
        purchase_custom_fields:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique ID of the Price Sheet, unique per Price Sheet
              name:
                type: string
                description: The name of the Custom Field
              options:
                type: array
                items:
                  type: string
                description: The available options of the Custom Field. Used only
                  for select and multiselect Custom Fields
              type:
                type: string
                enum:
                - text
                - select
                - multiselect
                - decimal
                - integer
                description: The type of the Custom Field
              required:
                type: boolean
                description: A boolean representing whether the field is required
                  or not when creating a Purchasable
              description:
                type: string
                description: An optional description providing context about what
                  the Custom Field represents (max 120 characters)
          description: The Custom Fields on any Purchase object created from a Purchasable
            on this Price Sheet
        order:
          type: integer
          description: An integer ordering the Price Sheet in the UI from lowest order
            to highest order
    Purchasable:
      type: object
      properties:
        campaign_id:
          type: integer
          description: The ID of the Campaign the Purchasable is on
        created_at:
          type: number
          format: date-time
          description: The date/time the Purchasable was created at represented as
            an integer
        custom_fields:
          type: object
          description: A dictionary of Custom Field ID keys and values for each Custom
            Field on the Purchasable
        decription:
          type: string
          description: A brief description of the Purchasable
        id:
          type: string
          description: The ID of the Purchasable
        name:
          type: string
          description: The name of the Purchasable
        price:
          type: decimal
          description: The dollar price of the Purchasable
        price_sheet_id:
          type: integer
          description: The ID of the Price Sheet the Purchasable is associated with
        minimum_price:
          type: decimal
          description: The minimum price a Salesperson can apply to Purchases created
            from this Purchasable (this is only used if approvals are enabled)
        updated_at:
          type: number
          format: date-time
          description: The date/time the Purchasable was last updated at represented
            as an integer
    Purchase:
      type: object
      properties:
        created_at:
          type: number
          format: date-time
          description: The date/time the Purchase was created at represented as an
            integer
        custom_fields:
          type: object
          description: A dictionary of Custom Field ID keys and values for each Custom
            Field on the Purchase
        id:
          type: string
          description: The ID of the Purchase
        lead_id:
          type: integer
          description: The ID of the Lead that the Purchase was created on
        price:
          type: decimal
          description: The entered dollar price of the Purchase, defaulting to the
            Purchasables price
        price_sheet_id:
          type: integer
          description: The ID of the Price Sheet the Purchase is associated with
        purchasable:
          "$ref": "#/components/schemas/Purchasable"
        purchasable_id:
          type: integer
          description: The ID of the Purchasable that the Purchase is created from
        updated_at:
          type: number
          format: date-time
          description: The date/time the Purchase was last updated at represented
            as an integer
        user_id:
          type: integer
          description: The ID of the User who created the Purchase
    Lead:
      type: object
      properties:
        actioned_at:
          type: number
          format: date-time
          description: The date/time the last time a Lead was updated at represented
            as an integer
        address:
          type: string
          description: The address of the Lead (auto-generated if latitude/longitude
            are specified)
        amount:
          type: number
          format: decimal
          description: Estimated value of the Lead
        campaign_id:
          type: integer
          description: The ID of the Campaign the Lead was created on
        created_at:
          type: number
          format: date-time
          description: The date/time the Lead was created at represented as an integer
        custom_fields:
          type: object
          description: A dictionary of Custom Field values with keys matching the
            Lead's Campaign Custom Field IDs
        description:
          type: string
          description: A text description for the Lead
        disable_webhooks:
          type: boolean
          description: Condition for deciding whether to disable webhook for the Lead
        geocoded_address:
          type: object
          properties:
            street:
              type: string
              description: The street address of the Lead
            city:
              type: string
              description: The city of the Lead
            province:
              type: string
              description: The Province/State of the Lead
            country:
              type: string
              description: The Country of the Lead
            postal_code:
              type: string
              description: The Zip/Postal Code of the Lead
        id:
          type: string
          description: The ID of the Lead
        identifier:
          type: string
          description: The name of the Lead, never null (if the Leads name is empty,
            it will provide a default string for the Lead)
        latitude:
          type: number
          format: decimal
          description: The latitude coordinate for the Lead's location
        longitude:
          type: number
          format: decimal
          description: The longitude coordinate for the Lead's location
        name:
          type: string
          description: The name of the Lead
        owner_ids:
          type: array
          items:
            type: integer
          description: The array of IDs of Users who own the Lead
        photo_urls:
          type: string
          description: An array of urls set associated with the Lead
        recording_url:
          type: string
          description: A url to a mp3 file for a recorded description
        status:
          type: string
          enum:
          - fresh
          - received_by_sales
          - work_in_progress
          - pending_decision
          - contract_signed
          - completed
          - failed
          - hibernated
          description: The current status of the Lead in the Wingmate CRM Pipeline
            | OneOf("fresh", "received_by_sales", "work_in_progress", "pending_decision",
            "contract_signed", "completed", "failed", "hibernated")
        status_string:
          type: string
          description: The name of the status matching the Campaign's lead_statuses
            field
        worker_id:
          type: integer
          description: The ID of the user who generated the Lead
    Lead Link:
      type: object
      properties:
        child_lead_id:
          type: string
          description: The ID of the lead that is the child
        created_at:
          type: number
          format: date-time
          description: The date/time the Lead Link was created at represented as an
            integer
        id:
          type: string
          description: The ID of the Lead Link
        parent_lead_id:
          type: string
          description: The ID of the lead that is the parent
        user_id:
          type: integer
          description: The ID of the user who generated the Lead Link
    User:
      type: object
      properties:
        created_at:
          type: number
          format: date-time
          description: The date/time the User was created at represented as an integer
        email:
          type: string
          description: The email of the User
        full_name:
          type: string
          description: The name of the User
        has_admin_privileges:
          type: boolean
          description: A boolean field representing whether the User can access the
            Admin Console or not
        id:
          type: string
          description: The ID of the User
        password:
          type: string
          description: The password of the User (auto-generated if left blank)
        phone_number:
          type: string
          description: The phone number of the User
        profile_image_url:
          type: string
          description: A URL pointing to the Users profile image
        receive_emails:
          type: boolean
          description: A boolean field representing if the User receives emails from
            Wingmate or not
        receives_sms:
          type: boolean
          description: A boolean field so that they receive SMS for your campaign
            (default is True)
        tag:
          type: string
          description: A tag that other uses can use to mention the User in Comments
            and Reminders (this is automatically generated if left blank)
        time_zone:
          type: string
          description: The time zone for the Users location
        title:
          type: string
          description: The work title of the User
        type:
          type: string
          enum:
          - Worker
          - Salesperson
          - Manager
          description: The type of User you wish to create | OneOf(Manager, Salesperson,
            Worker)
        uuid:
          description: A unique identifier the User can use to log in with (generated
            from the phone number if left blank)
    User Transaction:
      type: object
      properties:
        amount:
          type: number
          format: decimal
          description: The amount for the transaction
        campaign_id:
          type: integer
          description: The ID of the Campaign the User Transaction was created on
        created_by_id:
          type: integer
          description: The ID of the User who created the User Transaction. Only available
            if method is set to bonus
        created_by:
          "$ref": "#/components/schemas/User"
        id:
          type: string
          description: The ID of the User Transaction
        lead_id:
          type: integer
          description: The ID of the Lead the User Transaction was created on
        lead_identifier:
          type: string
          description: The identifier field of the associated Lead
        method:
          type: string
          enum:
          - fresh
          - received_by_sales
          - work_in_progress
          - pending_decision
          - contract_signed
          - completed
          - failed
          - hibernated
          - commission
          - campaign_bonus
          description: The type of the User Transaction. If a status ID, it was automatically
            generated by the system
        user_id:
          type: string
          description: The ID of the user for the transaction
        user:
          "$ref": "#/components/schemas/User"
paths:
  "/api/v1.0/actions/{id}":
    patch:
      summary: Update Action
      tags:
      - Actions
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the action
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Action"
    put:
      summary: Update Action
      tags:
      - Actions
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the action
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: not found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Action"
    delete:
      summary: delete action
      tags:
      - Actions
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the action
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful
        '401':
          description: unauthorized
  "/api/v1.0":
    get:
      summary: Get API Versions
      tags:
      - API
      security:
      - authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
  "/api/v1.0/approval_requests":
    get:
      summary: Get Approval Requests
      tags:
      - Approval Requests
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
  "/api/v1.0/approval_requests/{id}":
    get:
      summary: Get Approval Request
      tags:
      - Approval Requests
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/attachments/{id}":
    get:
      summary: Get Attachment
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the attachment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Forbidden
    patch:
      summary: Update Attachment
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the attachment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Attachment"
    put:
      summary: update attachment
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the attachment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Forbidden
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Attachment"
    delete:
      summary: delete attachment
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the attachment
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: forbidden
  "/api/v1.0/campaigns/{campaign_id}/contacts":
    get:
      summary: Get Campaign Contacts
      tags:
      - Contacts
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of your Campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '404':
          description: Not Found
  "/api/v1.0/campaigns/{campaign_id}/contracts":
    get:
      summary: Get Campaign Contracts
      tags:
      - Contracts
      security:
      - authorization: []
      description: Get all the Contracts for Users on a Campaign
      parameters:
      - name: campaign_id
        in: path
        description: The ID of the campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden
  "/api/v1.0/campaigns/{campaign_id}/leads":
    get:
      summary: Get Campaign Leads
      tags:
      - Leads
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of your campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
    post:
      summary: Create a new Lead on a Campaign
      tags:
      - Leads
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of your campaign
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/lead"
  "/api/v1.0/campaigns/{campaign_id}/price_sheets":
    parameters:
    - name: campaign_id
      in: path
      description: The ID of the campaign
      required: true
      schema:
        type: string
    - name: authorization
      in: query
      description: The api token of the campaign
      schema:
        type: string
    get:
      summary: Get Price Sheets for Campaign
      tags:
      - Price Sheets
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of your Campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Campaign Not Found
  "/api/v1.0/campaigns/{campaign_id}/purchasables":
    parameters:
    - name: campaign_id
      in: path
      description: campaign_id
      required: true
      schema:
        type: string
    get:
      summary: Get Purchasables on Campaign
      tags:
      - Purchasables
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of your Campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
  "/api/v1.0/campaigns/{campaign_id}/users":
    get:
      summary: Get Users on Campaign
      tags:
      - Users
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of the Campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                order:
                  type: string
                  description: Sorts the users returned by this API call. | OneOf("id",
                    "full_name")
                type:
                  description: Filters the list of returned users by one or more user
                    types.
                  type: array
                  items:
                    anyOf:
                    - type: string
                      description: Worker
                    - type: string
                      description: Manager
                    - type: string
                      description: Salesperson
                    - type: string
                      description: CompanyAdmin
    post:
      summary: Create User on Campaign
      tags:
      - Users
      security:
      - authorization: []
      parameters:
      - name: campaign_id
        in: path
        description: The ID of the Campaign
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/User"
  "/api/v1.0/campaigns/{id}/good_lead":
    get:
      summary: Get Program Details Page for Campaign
      tags:
      - Campaigns
      security:
      - authorization: []
        auth_token: []
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden
  "/api/v1.0/campaigns/{id}":
    get:
      summary: Get Campaign
      tags:
      - Campaigns
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
    patch:
      summary: Update Campaign
      tags:
      - Campaigns
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Campaign"
    put:
      summary: Update Campaign
      tags:
      - Campaigns
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Campaign"
  "/api/v1.0/comments/{id}":
    patch:
      summary: Update Comment
      tags:
      - Comments
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the comment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Comment"
    put:
      summary: Update Comment
      tags:
      - Comments
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the comment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Comment"
    delete:
      summary: Delete Comment
      tags:
      - Comments
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the comment
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/contacts":
    get:
      summary: Get Contacts
      tags:
      - Contacts
      security:
      - authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
  "/api/v1.0/contacts/{id}":
    get:
      summary: Get Contact
      tags:
      - Contacts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the contact
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    patch:
      summary: Update Contact
      tags:
      - Contacts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the contact
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Contact"
    put:
      summary: Update Contact
      tags:
      - Contacts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the contact
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Contact"
    delete:
      summary: Delete Contact
      tags:
      - Contacts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the contact
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/contracts":
    get:
      summary: Get Contracts
      tags:
      - Contracts
      security:
      - authorization: []
      responses:
        '200':
          description: successful
        '401':
          description: Unauthorized
  "/api/v1.0/contracts/{id}":
    get:
      summary: Get Contract
      tags:
      - Contracts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    patch:
      summary: Update Contract
      tags:
      - Contracts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Contract"
    put:
      summary: Update Contract
      tags:
      - Contracts
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Contract"
  "/api/v1.0/lead_links":
    post:
      summary: Create Lead Link
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      parameters: []
      responses:
        '200':
          description: Successful
        '401':
          description: Unauthorized
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Lead Link"
  "/api/v1.0/lead_links/{id}":
    delete:
      summary: Delete Lead Link
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the lead link
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '404':
          description: Not Found
  "/api/v1.0/leads/{lead_id}/actions":
    get:
      summary: Actions of a Lead
      tags:
      - Actions
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
    post:
      summary: Create Action on a Lead
      tags:
      - Actions
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '400':
          description: Bad Request
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Action"
  "/api/v1.0/leads/{lead_id}/activities":
    parameters:
    - name: lead_id
      in: path
      description: lead_id
      required: true
      schema:
        type: string
    get:
      summary: Get all Activity on Leads
      tags:
      - Leads
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
  "/api/v1.0/leads/{lead_id}/attachments":
    get:
      summary: Get Attachments on Leads
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the Lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
    post:
      summary: Create Attachment on Lead
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the Lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Attachment"
  "/api/v1.0/leads/{lead_id}/attachments/new":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    get:
      summary: Retrieve Upload URL for Attachment
      tags:
      - Attachments
      security:
      - authorization: []
      parameters:
      - name: filename
        in: query
        description: The filename for the attachment
        schema:
          type: string
      responses:
        '200':
          description: Success
  "/api/v1.0/leads/{lead_id}/comments":
    get:
      summary: Get Comments on Lead
      tags:
      - Comments
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
    post:
      summary: Create a Comment on Lead
      tags:
      - Comments
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/comment"
  "/api/v1.0/leads/{lead_id}/contacts":
    get:
      summary: Get Contacts on Lead
      tags:
      - Contact
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
    post:
      summary: create contact
      tags:
      - Contact
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID of the lead
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/contact"
  "/api/v1.0/leads/{lead_id}/contacts/{id}":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    - name: id
      in: path
      description: The ID of the contact
      required: true
      schema:
        type: string
    - name: authorization
      in: query
      description: The api token of the campaign
      schema:
        type: string
    get:
      summary: show contact
      tags:
      - Leads
      responses:
        '200':
          description: Success
    patch:
      summary: Update Contact
      tags:
      - Leads
      parameters: []
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/contact"
    put:
      summary: Update Contact
      tags:
      - Leads
      parameters: []
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/contact"
    delete:
      summary: Delete Contact
      tags:
      - Leads
      responses:
        '204':
          description: Not Content
  "/api/v1.0/leads/{lead_id}/custom_fields/{id}":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    - name: id
      in: path
      description: id
      required: true
      schema:
        type: string
    put:
      summary: Update Custom Field Value on Lead
      tags:
      - Leads
      security:
      - authorization: []
      parameters: []
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/custom_field"
  "/api/v1.0/leads/{lead_id}/conversations":
    parameters:
    - name: lead_id
      in: path
      description: lead_id
      required: true
      schema:
        type: string
    get:
      summary: Get Email Conversations on Lead
      tags:
      - Email Conversations
      security:
      - authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/leads/{lead_id}/lead_links":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    get:
      summary: Get Lead Links on Lead
      tags:
      - Lead Links
      security:
      - authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/leads/{lead_id}/meetings":
    parameters:
    - name: lead_id
      in: path
      description: The ID for the lead
      required: true
      schema:
        type: string
    get:
      summary: List Lead Meetings
      tags:
      - Leads
      security:
      - authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Lead Not Found
    post:
      summary: Create Lead Meeting
      tags:
      - Leads
      security:
      - authorization: []
      parameters: []
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Lead Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Meeting"
  "/api/v1.0/leads/{lead_id}/ownerships":
    parameters:
    - name: lead_id
      in: path
      description: lead_id
      required: true
      schema:
        type: string
    get:
      summary: Get Ownerships on Lead
      tags:
      - Ownerships
      security:
      - authorization: []
      responses:
        '200':
          description: Success
    post:
      summary: Create Ownership on Lead
      tags:
      - Ownerships
      security:
      - authorization: []
      parameters: []
      responses:
        '204':
          description: No Content
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Ownership"
  "/api/v1.0/leads/{lead_id}/ownerships/{id}":
    parameters:
    - name: lead_id
      in: path
      description: lead_id
      required: true
      schema:
        type: string
    - name: id
      in: path
      description: id
      required: true
      schema:
        type: string
    delete:
      summary: Delete Ownership
      tags:
      - Ownerships
      security:
      - authorization: []
      responses:
        '204':
          description: No Content
  "/api/v1.0/leads/{lead_id}/purchases":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the Lead
      required: true
      schema:
        type: string
    get:
      summary: Get Purchases on Lead
      tags:
      - Purchases
      security:
      - authorization: []
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden
        '404':
          description: Lead Not Found
    post:
      summary: Create a Purchase on a Lead
      tags:
      - Purchases
      security:
      - authorization: []
      parameters:
      - name: lead_id
        in: path
        description: The ID for the Lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Purchase"
  "/api/v1.0/leads/{lead_id}/reminders":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    - name: authorization
      in: query
      description: The api token of the campaign
      schema:
        type: string
    get:
      summary: Get Reminders for Lead
      tags:
      - Reminders
      security:
      - authorization: []
      responses:
        '200':
          description: Success
    post:
      summary: Create Reminder on Lead
      tags:
      - Reminders
      security:
      - authorization: []
      parameters: []
      responses:
        '200':
          description: lead
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/reminder"
  "/api/v1.0/leads/{lead_id}/status_updates":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    get:
      summary: list status_updates
      tags:
      - Status Updates
      security:
      - authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/leads/{lead_id}/user_transactions":
    parameters:
    - name: lead_id
      in: path
      description: The ID of the lead
      required: true
      schema:
        type: string
    get:
      summary: Get User Transactions on Lead
      tags:
      - User Transactions
      security:
      - authorization: []
      responses:
        '200':
          description: Success
    post:
      summary: Create User Transaction on Lead
      tags:
      - User Transactions
      security:
      - authorization: []
      parameters: []
      responses:
        '403':
          description: Forbidden
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/user_transaction"
  "/api/v1.0/leads":
    get:
      summary: Get Leads
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
  "/api/v1.0/leads/{id}":
    get:
      summary: Get Lead
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    patch:
      summary: Update Lead
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Lead"
    put:
      summary: Update Lead
      tags:
      - Leads
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Lead"
    delete:
      summary: Delete Lead
      tags:
      - Leads
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the lead
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  "/api/v1.0/meetings/{meeting_id}/invitations":
    parameters:
    - name: meeting_id
      in: path
      description: The ID for the meeting
      required: true
      schema:
        type: string
    post:
      summary: Create Meeting Invitation
      tags:
      - Meetings
      security:
      - authorization: []
      parameters:
      - name: auth_token
        in: query
        description: The auth token for the user
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Created
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - Different Campaign
        '404':
          description: Meeting Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Invitation"
  "/api/v1.0/meetings/{meeting_id}/invitations/{id}":
    parameters:
    - name: meeting_id
      in: path
      description: The ID for the meeting
      required: true
      schema:
        type: string
    - name: id
      in: path
      description: The ID for the invitation
      required: true
      schema:
        type: string
    put:
      summary: Update Meeting Invitation
      tags:
      - Meetings
      security:
      - authorization: []
      parameters:
      - name: auth_token
        in: query
        description: The auth token for the user
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - Not Creator or Invited User
        '404':
          description: Invitation Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Invitation"
    delete:
      summary: Delete Meeting Invitation
      tags:
      - Meetings
      security:
      - authorization: []
      parameters:
      - name: auth_token
        in: query
        description: The auth token for the user
        required: false
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - Not Creator or Invited User
        '404':
          description: Invitation Not Found
  "/api/v1.0/meetings/{id}":
    get:
      summary: Get Meeting
      tags:
      - Meetings
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the meeting
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    put:
      summary: Update Meeting
      tags:
      - Meetings
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the meeting
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Meeting"
    delete:
      summary: Delete Meeting
      tags:
      - Meetings
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the meeting
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/notifications/{id}":
    patch:
      summary: Update Notification
      tags:
      - Notifications
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the notification
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Notification"
    put:
      summary: Update Notification
      tags:
      - Notifications
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the notification
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Notification"
    delete:
      summary: Delete Notification
      tags:
      - Notifications
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the notification
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/price_sheets/{price_sheet_id}/purchasables":
    get:
      summary: Get Purchasables on Price Sheet
      tags:
      - Purchasables
      security:
      - authorization: []
      parameters:
      - name: price_sheet_id
        in: path
        description: The ID of the Price Sheet
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    post:
      summary: Create Purchasable in a Price Sheet
      tags:
      - Purchasables
      security:
      - authorization: []
      parameters:
      - name: price_sheet_id
        in: path
        description: The ID of the Price Sheet
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Created
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Purchasable"
  "/api/v1.0/price_sheets":
    get:
      summary: Get Price Sheets
      tags:
      - Price Sheets
      security:
      - authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/price_sheets/{id}":
    get:
      summary: Get Price Sheet
      tags:
      - Price Sheets
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the Price Sheet
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    put:
      summary: Update Price Sheet
      tags:
      - Price Sheets
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the Price Sheet
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Price Sheet"
  "/api/v1.0/purchasables/{id}":
    get:
      summary: Get a Purchasable
      tags:
      - Purchasables
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the Purchasable
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    put:
      summary: Update a Purchasable
      tags:
      - Purchasables
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the Purchasable
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schema/Purchasable"
    delete:
      summary: Delete a Purchasable
      tags:
      - Purchasables
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID of the Purchasable
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/purchases/{id}":
    patch:
      summary: Update Purchase
      tags:
      - Purchases
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the purchase
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Purchase"
    put:
      summary: Update Purchase
      tags:
      - Purchases
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the purchase
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Purchase"
    get:
      summary: Show Purchase
      tags:
      - Purchases
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the purchase
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    delete:
      summary: Delete Purchase
      tags:
      - Purchases
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the purchase
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/reminders/{id}":
    get:
      summary: Get Reminder
      tags:
      - Reminders
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the reminder
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Unauthorized
    put:
      summary: Update Reminder
      tags:
      - Reminders
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the reminder
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Reminder"
    delete:
      summary: Delete Reminder
      tags:
      - Reminders
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the reminder
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/subscriptions":
    get:
      summary: Get Subscriptions
      tags:
      - Email Subscriptions
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '404':
          description: Not Found
    patch:
      summary: Update Email Subscriptions
      tags:
      - Email Subscriptions
      security:
      - auth_token: []
        authorization: []
      parameters: []
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  type: object
                  properties:
                    unsubscribed_email_campaigns:
                      type: array
                      description: An array of subscription IDs to unsubscribe from
                      items:
                        type: string
    put:
      summary: Update Subscriptions
      tags:
      - Email Subscriptions
      security:
      - auth_token: []
        authorization: []
      parameters: []
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  type: object
                  properties:
                    unsubscribed_email_campaigns:
                      type: array
                      description: An array of subscription IDs to unsubscribe from
                      items:
                        type: string
  "/api/v1.0/user_payments/{user_payment_id}/user_transactions":
    get:
      summary: Get User Transactions on User Payment
      tags:
      - User Transactions
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: user_payment_id
        in: path
        description: The ID of the user payment
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/user_payments":
    get:
      summary: Get User Payments
      tags:
      - User Transactions
      security:
      - auth_token: []
        authorization: []
      parameters:
      - name: user_id
        in: query
        description: The ID of the user to get payment information for
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
  "/api/v1.0/users/{user_id}/actions":
    parameters:
    - name: user_id
      in: path
      description: The ID of the user
      required: true
      schema:
        type: string
    get:
      summary: Get a Users Actions
      tags:
      - Actions
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/users/{user_id}/campaigns":
    parameters:
    - name: user_id
      in: path
      description: The ID of the user
      required: true
      schema:
        type: string
    get:
      summary: Get Campaigns on User
      tags:
      - Users
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/users/{user_id}/groups":
    parameters:
    - name: user_id
      in: path
      description: user_id
      required: true
      schema:
        type: string
    get:
      summary: Get Groups for User
      tags:
      - Groups
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/users/{user_id}/leads":
    parameters:
    - name: user_id
      in: path
      description: The ID of the user
      required: true
      schema:
        type: string
    get:
      summary: Get Leads for User
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
    post:
      summary: Create Lead for User
      tags:
      - Leads
      security:
      - auth_token: []
        authorization: []
      parameters: []
      responses:
        '201':
          description: Created
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/lead"
  "/api/v1.0/users/{user_id}/meetings":
    parameters:
    - name: user_id
      in: path
      description: The ID for the user
      required: true
      schema:
        type: string
    get:
      summary: List User Meetings
      tags:
      - Users
      security:
      - authorization: []
      parameters:
      - name: auth_token
        in: query
        description: The auth token for the user
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - Different Campaign
        '404':
          description: User Not Found
  "/api/v1.0/users/{user_id}/notifications":
    parameters:
    - name: user_id
      in: path
      description: The ID of the user
      required: true
      schema:
        type: string
    get:
      summary: Get Notifications for User
      tags:
      - Notifications
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
    post:
      summary: Create Notification for User
      tags:
      - Notifications
      security:
      - auth_token: []
        authorization: []
      parameters: []
      responses:
        '200':
          description: Success
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/notification"
  "/api/v1.0/users/{user_id}/reminders":
    parameters:
    - name: user_id
      in: path
      description: The ID for a user
      required: true
      schema:
        type: string
    get:
      summary: Get Reminders for User
      tags:
      - Reminders
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/users/{user_id}/user_payments":
    parameters:
    - name: user_id
      in: path
      description: The ID of the user
      required: true
      schema:
        type: string
    get:
      summary: Get User Payments for User
      tags:
      - User Payments
      security:
      - auth_token: []
        authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/users":
    get:
      summary: Get Users
      tags:
      - Users
      security:
      - authorization: []
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
  "/api/v1.0/users/{id}":
    get:
      summary: Get User
      tags:
      - Users
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the user
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '404':
          description: Not Found
    patch:
      summary: Update User
      tags:
      - Users
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the user
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/User"
    put:
      summary: Update User
      tags:
      - Users
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The ID for the user
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/User"
  "/api/v1.0/webhook/endpoints":
    get:
      summary: Get Endpoints
      tags:
      - Endpoints
      security:
      - authorization: []
      responses:
        '200':
          description: Success
  "/api/v1.0/webhook/endpoints/{id}":
    get:
      summary: Get Endpoint
      tags:
      - Endpoints
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The id of the webhook endpoint
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
    delete:
      summary: Delete Endpoint
      tags:
      - Endpoints
      security:
      - authorization: []
      parameters:
      - name: id
        in: path
        description: The id of the webhook endpoint
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
