openapi: 3.0.0
servers:
  - url: https://api.callfire.com/v2
info:
  contact:
    email: support@callfire.com
    name: CallFire
    url: https://www.callfire.com
  description: CallFire
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://www.callfire.com/terms
  title: CallFire API Documentation
  version: V2
  x-apisguru-categories:
    - telecom
  x-logo:
    backgroundColor: "#FFFFFF"
    url: https://pbs.twimg.com/profile_images/537371596508258305/zP_eP2ec_400x400.png
  x-origin:
    - format: openapi
      url: https://www.callfire.com/v2/api-docs/swagger.json
      version: "3.0"
  x-providerName: callfire.com
tags:
  - name: calls
  - name: campaigns
  - name: contacts
  - name: keywords
  - name: me
  - name: media
  - name: numbers
  - name: orders
  - name: reports
  - name: texts
  - name: ticket
  - name: webhooks
paths:
  /calls:
    get:
      description: To search for all calls sent or received by the user. Use "id=0" for the campaignId parameter to query for all calls sent through the POST /calls API. See [call states and results](https://developers.callfire.com/results-responses-errors.html)
      operationId: findCalls
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: Lists the Call ids to search for. If calls ids are specified then other query parameters can be ignored
          explode: true
          in: query
          name: id
          required: false
          schema:
            items:
              format: int64
              type: integer
            type: array
        - description: An id of a campaign, queries for calls included to a particular campaign. Specify null for all campaigns and 0 for default campaign
          in: query
          name: campaignId
          required: false
          schema:
            format: int64
            type: integer
        - description: An id of a contact batch, queries for calls of a particular contact batch
          in: query
          name: batchId
          required: false
          schema:
            format: int64
            type: integer
        - description: "Phone number in E.164 format (11-digit) that call was from. Example: 12132000384"
          in: query
          name: fromNumber
          required: false
          schema:
            type: string
        - description: "Phone number in E.164 format (11-digit) that call was sent to. Example: 12132000384"
          in: query
          name: toNumber
          required: false
          schema:
            type: string
        - description: A label for a specific call
          in: query
          name: label
          required: false
          schema:
            type: string
        - description: "Searches for all calls which correspond to statuses listed in a comma separated string. Available values: READY, SELECTED, CALLBACK, FINISHED, DISABLED, DNC, DUP, INVALID, TIMEOUT, PERIOD_LIMIT. See [call states and results](https://developers.callfire.com/results-responses-errors.html)"
          in: query
          name: states
          required: false
          schema:
            type: string
        - description: "Searches for all calls with statuses listed in a comma separated string. Available values: SENT, RECEIVED, DNT, TOO_BIG, INTERNAL_ERROR, CARRIER_ERROR, CARRIER_TEMP_ERROR, UNDIALED. See [call states and results](https://developers.callfire.com/results-responses-errors.html)"
          in: query
          name: results
          required: false
          schema:
            type: string
        - description: Filters inbound calls for "true" value and outbound calls for "false" value
          in: query
          name: inbound
          required: false
          schema:
            type: boolean
        - description: "Start of the find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: intervalBegin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of the find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: intervalEnd
          required: false
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find calls
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/findCalls.cs
      x-sample-curl-request-url: /curl/calls/findCalls.sh
      x-sample-curl-response-url: /curl/calls/findCalls.json
      x-sample-description-url: /description/calls/findCalls.md
      x-sample-go-url: /go/calls/findCalls.go
      x-sample-java-url: /java/calls/findCalls.java
      x-sample-js-url: /js/calls/findCalls.js
      x-sample-php-url: /php/calls/findCalls.php
      x-sample-python-url: /python/calls/findCalls.py
    post:
      description: Use the /calls API to send individual calls quickly. A verified Caller ID and sufficient credits are required to make a call. CallRecipient represents a single recipient identified by phone number or contact id in CallFire system. You can attach user-defined attributes to a Call action via CallRecipient.attributes property, attributes are available in Call action response
      operationId: sendCalls
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: Specifies a campaignId to send calls quickly on a previously created campaign
          in: query
          name: campaignId
          required: false
          schema:
            format: int64
            type: integer
        - description: Text to be turned into a sound, this text will be played when the phone is answered. Parameter can be overridden for any particular CallRecipient
          in: query
          name: defaultLiveMessage
          required: false
          schema:
            type: string
        - description: Text to be turned into a sound, this text will be played when answering machine is detected. Parameter can be overridden for any particular CallRecipient
          in: query
          name: defaultMachineMessage
          required: false
          schema:
            type: string
        - description: Id of sound file to play if phone is answered. Parameter can be overridden for any particular CallRecipient
          in: query
          name: defaultLiveMessageSoundId
          required: false
          schema:
            format: int64
            type: integer
        - description: An id of a sound file to play if answering machine is detected. Parameter can be overridden for any particular CallRecipient
          in: query
          name: defaultMachineMessageSoundId
          required: false
          schema:
            format: int64
            type: integer
        - description: The voice set by default for all text-to-speech messages defined in CallRecipient objects or as default *Message properties
          in: query
          name: defaultVoice
          required: false
          schema:
            enum:
              - MALE1
              - FEMALE1
              - FEMALE2
              - SPANISH1
              - FRENCHCANADIAN1
            type: string
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/CallRecipient"
              type: array
        description: |
          An array of CallRecipient objects. 
          Limitations:
          1. Max number of CallRecipient objects is 10
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Send calls
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/sendCalls.cs
      x-sample-curl-request-url: /curl/calls/sendCalls.sh
      x-sample-curl-response-url: /curl/calls/sendCalls.json
      x-sample-description-url: /description/calls/sendCalls.md
      x-sample-go-url: /go/calls/sendCalls.go
      x-sample-java-url: /java/calls/sendCalls.java
      x-sample-js-url: /js/calls/sendCalls.js
      x-sample-php-url: /php/calls/sendCalls.php
      x-sample-python-url: /python/calls/sendCalls.py
  /calls/broadcasts:
    get:
      description: Searches for all voice broadcasts created by user. Can query on label, name, and the current running status of the campaign. Returns a paged list of voice broadcasts
      operationId: findCallBroadcasts
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 10
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A label of a voice broadcast
          in: query
          name: label
          required: false
          schema:
            type: string
        - description: A name of voice broadcast
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: Specify whether the campaigns should be running or not
          in: query
          name: running
          required: false
          schema:
            type: boolean
        - description: Specify whether the campaigns should be scheduled or not
          in: query
          name: scheduled
          required: false
          schema:
            type: boolean
        - description: "Start of the find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: intervalBegin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of the find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: intervalEnd
          required: false
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallBroadcastPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find call broadcasts
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/findCallBroadcasts.cs
      x-sample-curl-request-url: /curl/calls/findCallBroadcasts.sh
      x-sample-curl-response-url: /curl/calls/findCallBroadcasts.json
      x-sample-description-url: /description/calls/findCallBroadcasts.md
      x-sample-go-url: /go/calls/findCallBroadcasts.go
      x-sample-java-url: /java/calls/findCallBroadcasts.java
      x-sample-js-url: /js/calls/findCallBroadcasts.js
      x-sample-php-url: /php/calls/findCallBroadcasts.php
      x-sample-python-url: /python/calls/findCallBroadcasts.py
    post:
      description: Creates a call broadcast campaign using the Call Broadcast API. Send a CallBroadcast in the message body to add details in a voice broadcast campaign. The campaign can be created without contacts and bare minimum configuration, but contacts will have to be added further on to use the campaign
      operationId: createCallBroadcast
      parameters:
        - description: Specify whether to immediately start this campaign (not required)
          in: query
          name: start
          required: false
          schema:
            type: boolean
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/CallBroadcast"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create a call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/createCallBroadcast.cs
      x-sample-curl-request-url: /curl/calls/createCallBroadcast.sh
      x-sample-curl-response-url: /curl/calls/createCallBroadcast.json
      x-sample-description-url: /description/calls/createCallBroadcast.md
      x-sample-go-url: /go/calls/createCallBroadcast.go
      x-sample-java-url: /java/calls/createCallBroadcast.java
      x-sample-js-url: /js/calls/createCallBroadcast.js
      x-sample-php-url: /php/calls/createCallBroadcast.php
      x-sample-python-url: /python/calls/createCallBroadcast.py
  "/calls/broadcasts/{id}":
    get:
      description: Returns a single CallBroadcast instance for a given call broadcast campaign id
      operationId: getCallBroadcast
      parameters:
        - description: An id of a CallBroadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallBroadcast"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallBroadcast.cs
      x-sample-curl-request-url: /curl/calls/getCallBroadcast.sh
      x-sample-curl-response-url: /curl/calls/getCallBroadcast.json
      x-sample-description-url: /description/calls/getCallBroadcast.md
      x-sample-go-url: /go/calls/getCallBroadcast.go
      x-sample-java-url: /java/calls/getCallBroadcast.java
      x-sample-js-url: /js/calls/getCallBroadcast.js
      x-sample-php-url: /php/calls/getCallBroadcast.php
      x-sample-python-url: /python/calls/getCallBroadcast.py
    put:
      description: This operation lets the user modify the configuration of a voice broadcast campaign after call broadcast campaign is created. See CallBroadcast for more information on what can/can't be updated on this API
      operationId: updateCallBroadcast
      parameters:
        - description: An id of a voice broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/CallBroadcast"
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/updateCallBroadcast.cs
      x-sample-curl-request-url: /curl/calls/updateCallBroadcast.sh
      x-sample-curl-response-url: /curl/calls/updateCallBroadcast.json
      x-sample-description-url: /description/calls/updateCallBroadcast.md
      x-sample-go-url: /go/calls/updateCallBroadcast.go
      x-sample-java-url: /java/calls/updateCallBroadcast.java
      x-sample-js-url: /js/calls/updateCallBroadcast.js
      x-sample-php-url: /php/calls/updateCallBroadcast.php
      x-sample-python-url: /python/calls/updateCallBroadcast.py
  "/calls/broadcasts/{id}/archive":
    post:
      description: Archives a voice broadcast (voice broadcast will be hidden in search results)
      operationId: archiveVoiceBroadcast
      parameters:
        - description: An id of a voice broadcast to archive
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Archive voice broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/archiveVoiceBroadcast.cs
      x-sample-curl-request-url: /curl/calls/archiveVoiceBroadcast.sh
      x-sample-curl-response-url: /curl/calls/archiveVoiceBroadcast.json
      x-sample-description-url: /description/calls/archiveVoiceBroadcast.md
      x-sample-go-url: /go/calls/archiveVoiceBroadcast.go
      x-sample-java-url: /java/calls/archiveVoiceBroadcast.java
      x-sample-js-url: /js/calls/archiveVoiceBroadcast.js
      x-sample-php-url: /php/calls/archiveVoiceBroadcast.php
      x-sample-python-url: /python/calls/archiveVoiceBroadcast.py
  "/calls/broadcasts/{id}/batches":
    get:
      description: This endpoint will enable the user to page through all of the batches for a particular voice broadcast campaign
      operationId: getCallBroadcastBatches
      parameters:
        - description: An id of a call broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BatchPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find batches in a call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallBroadcastBatches.cs
      x-sample-curl-request-url: /curl/calls/getCallBroadcastBatches.sh
      x-sample-curl-response-url: /curl/calls/getCallBroadcastBatches.json
      x-sample-description-url: /description/calls/getCallBroadcastBatches.md
      x-sample-go-url: /go/calls/getCallBroadcastBatches.go
      x-sample-java-url: /java/calls/getCallBroadcastBatches.java
      x-sample-js-url: /js/calls/getCallBroadcastBatches.js
      x-sample-php-url: /php/calls/getCallBroadcastBatches.php
      x-sample-python-url: /python/calls/getCallBroadcastBatches.py
    post:
      description: The 'add batch' API allows user to add additional batches to an already created voice broadcast campaign. The added batch will go through the CallFire validation process, unlike in the recipients version of this API. That is why you can use the scrubDuplicates flag to remove duplicates from your batch. Batches may be added as a contact list id, a list of contact ids, or a list of numbers
      operationId: addCallBroadcastBatch
      parameters:
        - description: An id of a call broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/BatchRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add batches to a call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/addCallBroadcastBatch.cs
      x-sample-curl-request-url: /curl/calls/addCallBroadcastBatch.sh
      x-sample-curl-response-url: /curl/calls/addCallBroadcastBatch.json
      x-sample-description-url: /description/calls/addCallBroadcastBatch.md
      x-sample-go-url: /go/calls/addCallBroadcastBatch.go
      x-sample-java-url: /java/calls/addCallBroadcastBatch.java
      x-sample-js-url: /js/calls/addCallBroadcastBatch.js
      x-sample-php-url: /php/calls/addCallBroadcastBatch.php
      x-sample-python-url: /python/calls/addCallBroadcastBatch.py
  "/calls/broadcasts/{id}/calls":
    get:
      description: This endpoint will enable the user to page through all calls for a particular call broadcast campaign
      operationId: getCallBroadcastCalls
      parameters:
        - description: An Id of a call broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: An id of a particular batch associated with broadcast
          in: query
          name: batchId
          required: false
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find calls in a call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallBroadcastCalls.cs
      x-sample-curl-request-url: /curl/calls/getCallBroadcastCalls.sh
      x-sample-curl-response-url: /curl/calls/getCallBroadcastCalls.json
      x-sample-description-url: /description/calls/getCallBroadcastCalls.md
      x-sample-go-url: /go/calls/getCallBroadcastCalls.go
      x-sample-java-url: /java/calls/getCallBroadcastCalls.java
      x-sample-js-url: /js/calls/getCallBroadcastCalls.js
      x-sample-php-url: /php/calls/getCallBroadcastCalls.php
      x-sample-python-url: /python/calls/getCallBroadcastCalls.py
  "/calls/broadcasts/{id}/recipients":
    post:
      description: Use this API to add the recipients to an existing voice broadcast. Post a list of Recipient objects to be added to the voice broadcast campaign. These contacts will not go through validation process, and will be acted upon as they are added. Recipients may be added as a list of contact ids, or list of numbers
      operationId: addCallBroadcastRecipients
      parameters:
        - description: An id of a call broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/Recipient"
              type: array
        description: A list of CallRecipient objects
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add recipients to a call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/addCallBroadcastRecipients.cs
      x-sample-curl-request-url: /curl/calls/addCallBroadcastRecipients.sh
      x-sample-curl-response-url: /curl/calls/addCallBroadcastRecipients.json
      x-sample-description-url: /description/calls/addCallBroadcastRecipients.md
      x-sample-go-url: /go/calls/addCallBroadcastRecipients.go
      x-sample-java-url: /java/calls/addCallBroadcastRecipients.java
      x-sample-js-url: /js/calls/addCallBroadcastRecipients.js
      x-sample-php-url: /php/calls/addCallBroadcastRecipients.php
      x-sample-python-url: /python/calls/addCallBroadcastRecipients.py
  "/calls/broadcasts/{id}/start":
    post:
      description: Start a voice broadcast
      operationId: startVoiceBroadcast
      parameters:
        - description: An id of voice broadcast to start
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Start voice broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/startVoiceBroadcast.cs
      x-sample-curl-request-url: /curl/calls/startVoiceBroadcast.sh
      x-sample-curl-response-url: /curl/calls/startVoiceBroadcast.json
      x-sample-description-url: /description/calls/startVoiceBroadcast.md
      x-sample-go-url: /go/calls/startVoiceBroadcast.go
      x-sample-java-url: /java/calls/startVoiceBroadcast.java
      x-sample-js-url: /js/calls/startVoiceBroadcast.js
      x-sample-php-url: /php/calls/startVoiceBroadcast.php
      x-sample-python-url: /python/calls/startVoiceBroadcast.py
  "/calls/broadcasts/{id}/stats":
    get:
      description: Returns broadcast statistics like total number of sent/received actions, total cost, number of remaining outbound actions, error count, etc
      operationId: getCallBroadcastStats
      parameters:
        - description: An id of a call broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: "Start of the search time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: begin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of the search time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: end
          required: false
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallBroadcastStats"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get statistics on call broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallBroadcastStats.cs
      x-sample-curl-request-url: /curl/calls/getCallBroadcastStats.sh
      x-sample-curl-response-url: /curl/calls/getCallBroadcastStats.json
      x-sample-description-url: /description/calls/getCallBroadcastStats.md
      x-sample-go-url: /go/calls/getCallBroadcastStats.go
      x-sample-java-url: /java/calls/getCallBroadcastStats.java
      x-sample-js-url: /js/calls/getCallBroadcastStats.js
      x-sample-php-url: /php/calls/getCallBroadcastStats.php
      x-sample-python-url: /python/calls/getCallBroadcastStats.py
  "/calls/broadcasts/{id}/stop":
    post:
      description: Stop a voice broadcast
      operationId: stopVoiceBroadcast
      parameters:
        - description: An id of voice broadcast to stop
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Stop voice broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/stopVoiceBroadcast.cs
      x-sample-curl-request-url: /curl/calls/stopVoiceBroadcast.sh
      x-sample-curl-response-url: /curl/calls/stopVoiceBroadcast.json
      x-sample-description-url: /description/calls/stopVoiceBroadcast.md
      x-sample-go-url: /go/calls/stopVoiceBroadcast.go
      x-sample-java-url: /java/calls/stopVoiceBroadcast.java
      x-sample-js-url: /js/calls/stopVoiceBroadcast.js
      x-sample-php-url: /php/calls/stopVoiceBroadcast.php
      x-sample-python-url: /python/calls/stopVoiceBroadcast.py
  "/calls/broadcasts/{id}/toggleRecipientsStatus":
    post:
      description: This operation lets the user to disable/enable undialed recipients in created broadcast
      operationId: toggleCallBroadcastRecipientsStatus
      parameters:
        - description: An id of a voice broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Flag which indicate what to do with calls (true will enable call in DISABLED status and vice versa)
          in: query
          name: enable
          required: false
          schema:
            default: false
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/RecipientArray"
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Disable/enable undialed recipients in broadcast
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/toggleCallBroadcastRecipientsStatus.cs
      x-sample-curl-request-url: /curl/calls/toggleCallBroadcastRecipientsStatus.sh
      x-sample-curl-response-url: /curl/calls/toggleCallBroadcastRecipientsStatus.json
      x-sample-description-url: /description/calls/toggleCallBroadcastRecipientsStatus.md
      x-sample-go-url: /go/calls/toggleCallBroadcastRecipientsStatus.go
      x-sample-java-url: /java/calls/toggleCallBroadcastRecipientsStatus.java
      x-sample-js-url: /js/calls/toggleCallBroadcastRecipientsStatus.js
      x-sample-php-url: /php/calls/toggleCallBroadcastRecipientsStatus.php
      x-sample-python-url: /python/calls/toggleCallBroadcastRecipientsStatus.py
  "/calls/recordings/{id}":
    get:
      description: Returns metadata of recording of a particular call. Metadata contains a link to a MP3 recording
      operationId: getCallRecording
      parameters:
        - description: "~"
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallRecording"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get call recording by id
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallRecording.cs
      x-sample-curl-request-url: /curl/calls/getCallRecording.sh
      x-sample-curl-response-url: /curl/calls/getCallRecording.json
      x-sample-description-url: /description/calls/getCallRecording.md
      x-sample-go-url: /go/calls/getCallRecording.go
      x-sample-java-url: /java/calls/getCallRecording.java
      x-sample-js-url: /js/calls/getCallRecording.js
      x-sample-php-url: /php/calls/getCallRecording.php
      x-sample-python-url: /python/calls/getCallRecording.py
  "/calls/recordings/{id}.mp3":
    get:
      description: Returns an MP3 recording of particular call, response contains binary data, content type is 'audio/mpeg'
      operationId: getCallRecordingMp3
      parameters:
        - description: An id of a call
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InputStream"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get call recording in mp3 format
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallRecordingMp3.cs
      x-sample-curl-request-url: /curl/calls/getCallRecordingMp3.sh
      x-sample-curl-response-url: /curl/calls/getCallRecordingMp3.json
      x-sample-description-url: /description/calls/getCallRecordingMp3.md
      x-sample-go-url: /go/calls/getCallRecordingMp3.go
      x-sample-java-url: /java/calls/getCallRecordingMp3.java
      x-sample-js-url: /js/calls/getCallRecordingMp3.js
      x-sample-php-url: /php/calls/getCallRecordingMp3.php
      x-sample-python-url: /python/calls/getCallRecordingMp3.py
  "/calls/{id}":
    get:
      description: Returns a single Call instance for a given call id.
      operationId: getCall
      parameters:
        - description: An id of a call
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Call"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific call
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCall.cs
      x-sample-curl-request-url: /curl/calls/getCall.sh
      x-sample-curl-response-url: /curl/calls/getCall.json
      x-sample-description-url: /description/calls/getCall.md
      x-sample-go-url: /go/calls/getCall.go
      x-sample-java-url: /java/calls/getCall.java
      x-sample-js-url: /js/calls/getCall.js
      x-sample-php-url: /php/calls/getCall.php
      x-sample-python-url: /python/calls/getCall.py
  "/calls/{id}/recordings":
    get:
      description: Returns a list of recordings metadata of particular call. Metadata contains link to a MP3 recording
      operationId: getCallRecordings
      parameters:
        - description: An id of a call
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallRecordingList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get call recordings for a call
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallRecordings.cs
      x-sample-curl-request-url: /curl/calls/getCallRecordings.sh
      x-sample-curl-response-url: /curl/calls/getCallRecordings.json
      x-sample-description-url: /description/calls/getCallRecordings.md
      x-sample-go-url: /go/calls/getCallRecordings.go
      x-sample-java-url: /java/calls/getCallRecordings.java
      x-sample-js-url: /js/calls/getCallRecordings.js
      x-sample-php-url: /php/calls/getCallRecordings.php
      x-sample-python-url: /python/calls/getCallRecordings.py
  "/calls/{id}/recordings/{name}":
    get:
      description: Returns recording metadata of particular call. Metadata contains link to a MP3 recording
      operationId: getCallRecordingByName
      parameters:
        - description: An id of a call
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: A name of a recording
          in: path
          name: name
          required: true
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallRecording"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get call recording by name
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallRecordingByName.cs
      x-sample-curl-request-url: /curl/calls/getCallRecordingByName.sh
      x-sample-curl-response-url: /curl/calls/getCallRecordingByName.json
      x-sample-description-url: /description/calls/getCallRecordingByName.md
      x-sample-go-url: /go/calls/getCallRecordingByName.go
      x-sample-java-url: /java/calls/getCallRecordingByName.java
      x-sample-js-url: /js/calls/getCallRecordingByName.js
      x-sample-php-url: /php/calls/getCallRecordingByName.php
      x-sample-python-url: /python/calls/getCallRecordingByName.py
  "/calls/{id}/recordings/{name}.mp3":
    get:
      description: Returns a MP3 recording of a particular call, response contains binary data, content type is 'audio/mpeg'
      operationId: getCallRecordingMp3ByName
      parameters:
        - description: An id of a call
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: A name of a recording
          in: path
          name: name
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/InputStream"
          description: successful operation
        "400":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get call mp3 recording by name
      tags:
        - calls
      x-sample-csharp-url: /csharp/calls/getCallRecordingMp3ByName.cs
      x-sample-curl-request-url: /curl/calls/getCallRecordingMp3ByName.sh
      x-sample-curl-response-url: /curl/calls/getCallRecordingMp3ByName.json
      x-sample-description-url: /description/calls/getCallRecordingMp3ByName.md
      x-sample-go-url: /go/calls/getCallRecordingMp3ByName.go
      x-sample-java-url: /java/calls/getCallRecordingMp3ByName.java
      x-sample-js-url: /js/calls/getCallRecordingMp3ByName.js
      x-sample-php-url: /php/calls/getCallRecordingMp3ByName.php
      x-sample-python-url: /python/calls/getCallRecordingMp3ByName.py
  "/campaigns/batches/{id}":
    get:
      description: Returns a single Batch instance for a given batch id. This API is useful for determining the state of a validating batch
      operationId: getCampaignBatch
      parameters:
        - description: An id of a batch
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Batch"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific batch
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/getCampaignBatch.cs
      x-sample-curl-request-url: /curl/campaigns/getCampaignBatch.sh
      x-sample-curl-response-url: /curl/campaigns/getCampaignBatch.json
      x-sample-description-url: /description/campaigns/getCampaignBatch.md
      x-sample-go-url: /go/campaigns/getCampaignBatch.go
      x-sample-java-url: /java/campaigns/getCampaignBatch.java
      x-sample-js-url: /js/campaigns/getCampaignBatch.js
      x-sample-php-url: /php/campaigns/getCampaignBatch.php
      x-sample-python-url: /python/campaigns/getCampaignBatch.py
    put:
      description: Updates a single Batch instance, currently batch can only be turned "on/off"
      operationId: updateCampaignBatch
      parameters:
        - description: An id of a batch to update
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Batch"
        description: A batch instance
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a batch
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/updateCampaignBatch.cs
      x-sample-curl-request-url: /curl/campaigns/updateCampaignBatch.sh
      x-sample-curl-response-url: /curl/campaigns/updateCampaignBatch.json
      x-sample-description-url: /description/campaigns/updateCampaignBatch.md
      x-sample-go-url: /go/campaigns/updateCampaignBatch.go
      x-sample-java-url: /java/campaigns/updateCampaignBatch.java
      x-sample-js-url: /js/campaigns/updateCampaignBatch.js
      x-sample-php-url: /php/campaigns/updateCampaignBatch.php
      x-sample-python-url: /python/campaigns/updateCampaignBatch.py
  /campaigns/sounds:
    get:
      description: To find all campaign sounds which were created by user. Returns all sounds available to be used in campaigns
      operationId: findCampaignSounds
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: value to filter file names again; this value is used to check if the filename contains the filter value.
          in: query
          name: filter
          required: false
          schema:
            type: string
        - description: Includes ARCHIVED sounds for "true" value
          in: query
          name: includeArchived
          required: false
          schema:
            type: boolean
        - description: Includes UPLOAD/RECORDING sounds for "true" value
          in: query
          name: includePending
          required: false
          schema:
            type: boolean
        - description: Includes SCRUBBED sounds for "true" value
          in: query
          name: includeScrubbed
          required: false
          schema:
            type: boolean
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CampaignSoundPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find sounds
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/findCampaignSounds.cs
      x-sample-curl-request-url: /curl/campaigns/findCampaignSounds.sh
      x-sample-curl-response-url: /curl/campaigns/findCampaignSounds.json
      x-sample-description-url: /description/campaigns/findCampaignSounds.md
      x-sample-go-url: /go/campaigns/findCampaignSounds.go
      x-sample-java-url: /java/campaigns/findCampaignSounds.java
      x-sample-js-url: /js/campaigns/findCampaignSounds.js
      x-sample-php-url: /php/campaigns/findCampaignSounds.php
      x-sample-python-url: /python/campaigns/findCampaignSounds.py
  /campaigns/sounds/calls:
    post:
      description: Use this API to create a sound via a phone call. Provide the required phone number in the CallCreateSound object inside the request, and user will receive a call shortly after with instructions on how to record a sound over the phone.
      operationId: postCallCampaignSound
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CallCreateSound"
        description: Request object containing the name of a new campaign sound and phone number to call up
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CampaignSound"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add sound via call
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/postCallCampaignSound.cs
      x-sample-curl-request-url: /curl/campaigns/postCallCampaignSound.sh
      x-sample-curl-response-url: /curl/campaigns/postCallCampaignSound.json
      x-sample-description-url: /description/campaigns/postCallCampaignSound.md
      x-sample-go-url: /go/campaigns/postCallCampaignSound.go
      x-sample-java-url: /java/campaigns/postCallCampaignSound.java
      x-sample-js-url: /js/campaigns/postCallCampaignSound.js
      x-sample-php-url: /php/campaigns/postCallCampaignSound.php
      x-sample-python-url: /python/campaigns/postCallCampaignSound.py
  /campaigns/sounds/files:
    post:
      description: Create a campaign sound file via a supplied .mp3 or .wav file
      operationId: postFileCampaignSound
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  description: A sound file encoded in binary form
                  format: binary
                  type: string
                name:
                  description: Optional name of a sound file, if the name is empty than it will be taken from a file
                  type: string
              required:
                - file
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CampaignSound"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add sound via file
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/postFileCampaignSound.cs
      x-sample-curl-request-url: /curl/campaigns/postFileCampaignSound.sh
      x-sample-curl-response-url: /curl/campaigns/postFileCampaignSound.json
      x-sample-description-url: /description/campaigns/postFileCampaignSound.md
      x-sample-go-url: /go/campaigns/postFileCampaignSound.go
      x-sample-java-url: /java/campaigns/postFileCampaignSound.java
      x-sample-js-url: /js/campaigns/postFileCampaignSound.js
      x-sample-php-url: /php/campaigns/postFileCampaignSound.php
      x-sample-python-url: /python/campaigns/postFileCampaignSound.py
  /campaigns/sounds/tts:
    post:
      description: "Use this API to create a sound file via a supplied string of text. Add a text in the TextToSpeech.message field, and pick a voice in the TextToSpeech.voice field. Available voices are: MALE1, FEMALE1, FEMALE2, SPANISH1, FRENCHCANADIAN1"
      operationId: postTTSCampaignSound
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TextToSpeech"
        description: textToSpeech
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CampaignSound"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add sound via text-to-speech
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/postTTSCampaignSound.cs
      x-sample-curl-request-url: /curl/campaigns/postTTSCampaignSound.sh
      x-sample-curl-response-url: /curl/campaigns/postTTSCampaignSound.json
      x-sample-description-url: /description/campaigns/postTTSCampaignSound.md
      x-sample-go-url: /go/campaigns/postTTSCampaignSound.go
      x-sample-java-url: /java/campaigns/postTTSCampaignSound.java
      x-sample-js-url: /js/campaigns/postTTSCampaignSound.js
      x-sample-php-url: /php/campaigns/postTTSCampaignSound.php
      x-sample-python-url: /python/campaigns/postTTSCampaignSound.py
  "/campaigns/sounds/{id}":
    delete:
      description: Deletes a single campaign sound instance for a specific campaign sound id, this operation does not delete sound completely, it sets sound status to ARCHIVED which means that sound will no longer appear in 'find' operation results, but still accessible via 'get' operation
      operationId: deleteCampaignSound
      parameters:
        - description: An id of a campaign sound
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete a specific sound
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/deleteCampaignSound.cs
      x-sample-curl-request-url: /curl/campaigns/deleteCampaignSound.sh
      x-sample-curl-response-url: /curl/campaigns/deleteCampaignSound.json
      x-sample-description-url: /description/campaigns/deleteCampaignSound.md
      x-sample-go-url: /go/campaigns/deleteCampaignSound.go
      x-sample-java-url: /java/campaigns/deleteCampaignSound.java
      x-sample-js-url: /js/campaigns/deleteCampaignSound.js
      x-sample-php-url: /php/campaigns/deleteCampaignSound.php
      x-sample-python-url: /python/campaigns/deleteCampaignSound.py
    get:
      description: Returns a single CampaignSound instance for a given sound id in campaign. This is a meta data to the sounds. No audio data is returned from this API
      operationId: getCampaignSound
      parameters:
        - description: An id of a sound campaign
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CampaignSound"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific sound
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/getCampaignSound.cs
      x-sample-curl-request-url: /curl/campaigns/getCampaignSound.sh
      x-sample-curl-response-url: /curl/campaigns/getCampaignSound.json
      x-sample-description-url: /description/campaigns/getCampaignSound.md
      x-sample-go-url: /go/campaigns/getCampaignSound.go
      x-sample-java-url: /java/campaigns/getCampaignSound.java
      x-sample-js-url: /js/campaigns/getCampaignSound.js
      x-sample-php-url: /php/campaigns/getCampaignSound.php
      x-sample-python-url: /python/campaigns/getCampaignSound.py
  "/campaigns/sounds/{id}.mp3":
    get:
      description: Download the MP3 version of a hosted file. This is an audio data endpoint. Returns binary response of the 'audio/mpeg' content type
      operationId: getCampaignSoundDataMp3
      parameters:
        - description: An id of a campaign sound
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/StreamingOutput"
          description: successful operation
        "400":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            audio/mpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Download a MP3 sound
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/getCampaignSoundDataMp3.cs
      x-sample-curl-request-url: /curl/campaigns/getCampaignSoundDataMp3.sh
      x-sample-curl-response-url: /curl/campaigns/getCampaignSoundDataMp3.json
      x-sample-description-url: /description/campaigns/getCampaignSoundDataMp3.md
      x-sample-go-url: /go/campaigns/getCampaignSoundDataMp3.go
      x-sample-java-url: /java/campaigns/getCampaignSoundDataMp3.java
      x-sample-js-url: /js/campaigns/getCampaignSoundDataMp3.js
      x-sample-php-url: /php/campaigns/getCampaignSoundDataMp3.php
      x-sample-python-url: /python/campaigns/getCampaignSoundDataMp3.py
  "/campaigns/sounds/{id}.wav":
    get:
      description: Download the WAV version of the hosted file. This is an audio data endpoint. Returns binary response of the 'audio/mpeg' content type
      operationId: getCampaignSoundDataWav
      parameters:
        - description: An id of a campaign sound
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            audio/wav:
              schema:
                $ref: "#/components/schemas/StreamingOutput"
          description: successful operation
        "400":
          content:
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Download a WAV sound
      tags:
        - campaigns
      x-sample-csharp-url: /csharp/campaigns/getCampaignSoundDataWav.cs
      x-sample-curl-request-url: /curl/campaigns/getCampaignSoundDataWav.sh
      x-sample-curl-response-url: /curl/campaigns/getCampaignSoundDataWav.json
      x-sample-description-url: /description/campaigns/getCampaignSoundDataWav.md
      x-sample-go-url: /go/campaigns/getCampaignSoundDataWav.go
      x-sample-java-url: /java/campaigns/getCampaignSoundDataWav.java
      x-sample-js-url: /js/campaigns/getCampaignSoundDataWav.js
      x-sample-php-url: /php/campaigns/getCampaignSoundDataWav.php
      x-sample-python-url: /python/campaigns/getCampaignSoundDataWav.py
  /contacts:
    get:
      description: Find user's contacts by id, contact list, or on any property name. Returns a paged list of contacts
      operationId: findContacts
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A list of contact IDs. If the id parameter is included, the other query parameters are ignored.
          explode: true
          in: query
          name: id
          required: false
          schema:
            items:
              format: int64
              type: integer
            type: array
        - description: Multiple contact numbers can be specified. If the number parameter is included, the other query parameters are ignored.
          explode: true
          in: query
          name: number
          required: false
          schema:
            items:
              type: string
            type: array
        - description: Filters contacts by a particular contact list
          in: query
          name: contactListId
          required: false
          schema:
            format: int64
            type: integer
        - description: Name of a contact property to search by
          in: query
          name: propertyName
          required: false
          schema:
            type: string
        - description: Value of a contact property to search by
          in: query
          name: propertyValue
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find contacts
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/findContacts.cs
      x-sample-curl-request-url: /curl/contacts/findContacts.sh
      x-sample-curl-response-url: /curl/contacts/findContacts.json
      x-sample-description-url: /description/contacts/findContacts.md
      x-sample-go-url: /go/contacts/findContacts.go
      x-sample-java-url: /java/contacts/findContacts.java
      x-sample-js-url: /js/contacts/findContacts.js
      x-sample-php-url: /php/contacts/findContacts.php
      x-sample-python-url: /python/contacts/findContacts.py
    post:
      description: "Creates contacts in CallFire system. Only values from the next list can be used as external system parameter in contact creation: **NATION_BUILDER, SALES_FORCE_CONTACTS, SALES_FORCE_LEADS, SALES_FORCE_REPORTS, ZOHO, MAIL_CHIMP**. See [contacts validation rules](https://www.callfire.com/help/docs/getting-started/managing-contacts/validating-contacts#section1)"
      operationId: createContacts
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/Contact"
              type: array
        description: A list of a contact objects
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceIdList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create contacts
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/createContacts.cs
      x-sample-curl-request-url: /curl/contacts/createContacts.sh
      x-sample-curl-response-url: /curl/contacts/createContacts.json
      x-sample-description-url: /description/contacts/createContacts.md
      x-sample-go-url: /go/contacts/createContacts.go
      x-sample-java-url: /java/contacts/createContacts.java
      x-sample-js-url: /js/contacts/createContacts.js
      x-sample-php-url: /php/contacts/createContacts.php
      x-sample-python-url: /python/contacts/createContacts.py
  /contacts/dncs:
    get:
      description: Searches for all Do Not Contact (DNC) objects created by user. These DoNotContact entries only affect calls/texts/campaigns on this account. Returns a paged list of DoNotContact objects
      operationId: findDoNotContacts
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: Prefix (1-10 digits) of phone numbers
          in: query
          name: prefix
          required: false
          schema:
            type: string
        - description: A campaign id which was used to send a message to a DNC number
          in: query
          name: campaignId
          required: false
          schema:
            format: int64
            type: integer
        - description: A DNC source name to search for DNCs
          in: query
          name: source
          required: false
          schema:
            type: string
        - description: Show only Do-Not-Call numbers
          in: query
          name: call
          required: false
          schema:
            type: boolean
        - description: Show only Do-Not-Text numbers
          in: query
          name: text
          required: false
          schema:
            type: boolean
        - description: "~"
          in: query
          name: inboundCall
          required: false
          schema:
            type: boolean
        - description: "~"
          in: query
          name: inboundText
          required: false
          schema:
            type: boolean
        - description: "~"
          explode: true
          in: query
          name: number
          required: false
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DoNotContactPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find do not contact (dnc) items
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/findDoNotContacts.cs
      x-sample-curl-request-url: /curl/contacts/findDoNotContacts.sh
      x-sample-curl-response-url: /curl/contacts/findDoNotContacts.json
      x-sample-description-url: /description/contacts/findDoNotContacts.md
      x-sample-go-url: /go/contacts/findDoNotContacts.go
      x-sample-java-url: /java/contacts/findDoNotContacts.java
      x-sample-js-url: /js/contacts/findDoNotContacts.js
      x-sample-php-url: /php/contacts/findDoNotContacts.php
      x-sample-python-url: /python/contacts/findDoNotContacts.py
    post:
      description: Add or update a list of Do Not Contact (DNC) contact entries. Can toggle whether the DNCs are enabled for calls/texts.
      operationId: addDoNotContacts
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddDoNotContactRequest"
        description: AddDoNotContactsRequest object
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add do not contact (dnc) numbers
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/addDoNotContacts.cs
      x-sample-curl-request-url: /curl/contacts/addDoNotContacts.sh
      x-sample-curl-response-url: /curl/contacts/addDoNotContacts.json
      x-sample-description-url: /description/contacts/addDoNotContacts.md
      x-sample-go-url: /go/contacts/addDoNotContacts.go
      x-sample-java-url: /java/contacts/addDoNotContacts.java
      x-sample-js-url: /js/contacts/addDoNotContacts.js
      x-sample-php-url: /php/contacts/addDoNotContacts.php
      x-sample-python-url: /python/contacts/addDoNotContacts.py
  "/contacts/dncs/sources/{source}":
    delete:
      description: Delete Do Not Contact (DNC) contact entries contained in source.
      operationId: deleteDoNotContactsBySource
      parameters:
        - description: Source associated with Do Not Contact (DNC) entry.
          in: path
          name: source
          required: true
          schema:
            type: string
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete do not contact (dnc) numbers contained in source.
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/deleteDoNotContactsBySource.cs
      x-sample-curl-request-url: /curl/contacts/deleteDoNotContactsBySource.sh
      x-sample-curl-response-url: /curl/contacts/deleteDoNotContactsBySource.json
      x-sample-description-url: /description/contacts/deleteDoNotContactsBySource.md
      x-sample-go-url: /go/contacts/deleteDoNotContactsBySource.go
      x-sample-java-url: /java/contacts/deleteDoNotContactsBySource.java
      x-sample-js-url: /js/contacts/deleteDoNotContactsBySource.js
      x-sample-php-url: /php/contacts/deleteDoNotContactsBySource.php
      x-sample-python-url: /python/contacts/deleteDoNotContactsBySource.py
  "/contacts/dncs/universals/{toNumber}":
    get:
      description: Searches for a UniversalDoNotContact object for a given phone number. Shows whether inbound/outbound actions are allowed for a given number
      operationId: getUniversalDoNotContacts
      parameters:
        - description: "A required destination phone number in E.164 format (11-digit). Example: 12132000384"
          in: path
          name: toNumber
          required: true
          schema:
            type: string
        - description: "An optional destination/source number for DNC, specified in E.164 format (11-digit). Example: 12132000384"
          in: query
          name: fromNumber
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ItemListUniversalDoNotContact"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find universal do not contacts (udnc) associated with toNumber
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/getUniversalDoNotContacts.cs
      x-sample-curl-request-url: /curl/contacts/getUniversalDoNotContacts.sh
      x-sample-curl-response-url: /curl/contacts/getUniversalDoNotContacts.json
      x-sample-description-url: /description/contacts/getUniversalDoNotContacts.md
      x-sample-go-url: /go/contacts/getUniversalDoNotContacts.go
      x-sample-java-url: /java/contacts/getUniversalDoNotContacts.java
      x-sample-js-url: /js/contacts/getUniversalDoNotContacts.js
      x-sample-php-url: /php/contacts/getUniversalDoNotContacts.php
      x-sample-python-url: /python/contacts/getUniversalDoNotContacts.py
  "/contacts/dncs/{number}":
    delete:
      description: Delete a Do Not Contact (DNC) contact entry.
      operationId: deleteDoNotContact
      parameters:
        - description: Number associated with Do Not Contact (DNC) entry.
          in: path
          name: number
          required: true
          schema:
            type: string
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete do not contact (dnc) number. If number contains commas treat as list of numbers
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/deleteDoNotContact.cs
      x-sample-curl-request-url: /curl/contacts/deleteDoNotContact.sh
      x-sample-curl-response-url: /curl/contacts/deleteDoNotContact.json
      x-sample-description-url: /description/contacts/deleteDoNotContact.md
      x-sample-go-url: /go/contacts/deleteDoNotContact.go
      x-sample-java-url: /java/contacts/deleteDoNotContact.java
      x-sample-js-url: /js/contacts/deleteDoNotContact.js
      x-sample-php-url: /php/contacts/deleteDoNotContact.php
      x-sample-python-url: /python/contacts/deleteDoNotContact.py
    get:
      description: Get Do Not Contact (DNC) object create by user. This DoNotContact entry only affects calls/texts/campaigns on this account.
      operationId: getDoNotContact
      parameters:
        - description: Number associated with Do Not Contact (DNC) entry.
          in: path
          name: number
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DoNotContact"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get do not contact (dnc)
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/getDoNotContact.cs
      x-sample-curl-request-url: /curl/contacts/getDoNotContact.sh
      x-sample-curl-response-url: /curl/contacts/getDoNotContact.json
      x-sample-description-url: /description/contacts/getDoNotContact.md
      x-sample-go-url: /go/contacts/getDoNotContact.go
      x-sample-java-url: /java/contacts/getDoNotContact.java
      x-sample-js-url: /js/contacts/getDoNotContact.js
      x-sample-php-url: /php/contacts/getDoNotContact.php
      x-sample-python-url: /python/contacts/getDoNotContact.py
    put:
      description: Update a Do Not Contact (DNC) contact entry. Can toggle whether the DNC is enabled for calls/texts.
      operationId: updateDoNotContact
      parameters:
        - description: "~"
          in: path
          name: number
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DoNotContact"
        description: DoNotContact object
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update an individual do not contact (dnc) number
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/updateDoNotContact.cs
      x-sample-curl-request-url: /curl/contacts/updateDoNotContact.sh
      x-sample-curl-response-url: /curl/contacts/updateDoNotContact.json
      x-sample-description-url: /description/contacts/updateDoNotContact.md
      x-sample-go-url: /go/contacts/updateDoNotContact.go
      x-sample-java-url: /java/contacts/updateDoNotContact.java
      x-sample-js-url: /js/contacts/updateDoNotContact.js
      x-sample-php-url: /php/contacts/updateDoNotContact.php
      x-sample-python-url: /python/contacts/updateDoNotContact.py
  /contacts/lists:
    get:
      description: Searches for all contact lists which are available for the current user. Returns a paged list of contact lists
      operationId: findContactLists
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A name or a partial name of a contact list
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: exactMatch
          required: false
          schema:
            type: boolean
        - description: "~"
          in: query
          name: contactCount
          required: false
          schema:
            format: int32
            type: integer
        - description: "~"
          in: query
          name: orderBy
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactListPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find contact lists
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/findContactLists.cs
      x-sample-curl-request-url: /curl/contacts/findContactLists.sh
      x-sample-curl-response-url: /curl/contacts/findContactLists.json
      x-sample-description-url: /description/contacts/findContactLists.md
      x-sample-go-url: /go/contacts/findContactLists.go
      x-sample-java-url: /java/contacts/findContactLists.java
      x-sample-js-url: /js/contacts/findContactLists.js
      x-sample-php-url: /php/contacts/findContactLists.php
      x-sample-python-url: /python/contacts/findContactLists.py
    post:
      description: Creates a contact list for use with campaigns using 1 of 3 inputs. A List of Contact objects, a list of String E.164 numbers, or a list of CallFire contactIds can be used as the data source for the created contact list. After contact list is added into the CallFire system, contact lists goes through seven system safeguards that check the accuracy and consistency of the data. For example, our system checks that contact number is formatted correctly, is valid, is not duplicated in another contact list, or is not added on a specific DNC list. You can configure to keep/merge or remove contacts which do not complies these rules. If contacts were not added to a contact list after the validation, this means the data needs to be properly formatted and corrected before calling this API
      operationId: createContactList
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CreateContactListRequest"
        description: A request object
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create contact lists
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/createContactList.cs
      x-sample-curl-request-url: /curl/contacts/createContactList.sh
      x-sample-curl-response-url: /curl/contacts/createContactList.json
      x-sample-description-url: /description/contacts/createContactList.md
      x-sample-go-url: /go/contacts/createContactList.go
      x-sample-java-url: /java/contacts/createContactList.java
      x-sample-js-url: /js/contacts/createContactList.js
      x-sample-php-url: /php/contacts/createContactList.php
      x-sample-python-url: /python/contacts/createContactList.py
  /contacts/lists/upload:
    post:
      description: Creates a contact list to be used with campaigns through uploading a .csv file. Returns the id of created list
      operationId: createContactListFromFile
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  description: CSV file to be uploaded
                  format: binary
                  type: string
                name:
                  description: A name of a contact list
                  type: string
                useCustomFields:
                  description: A flag to indicate how to define property names for contacts. If true, uses the field and property names exactly as defined. If false will assign custom properties and fields to A, B, C, etc
                  type: boolean
              required:
                - file
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create contact list from file
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/createContactListFromFile.cs
      x-sample-curl-request-url: /curl/contacts/createContactListFromFile.sh
      x-sample-curl-response-url: /curl/contacts/createContactListFromFile.json
      x-sample-description-url: /description/contacts/createContactListFromFile.md
      x-sample-go-url: /go/contacts/createContactListFromFile.go
      x-sample-java-url: /java/contacts/createContactListFromFile.java
      x-sample-js-url: /js/contacts/createContactListFromFile.js
      x-sample-php-url: /php/contacts/createContactListFromFile.php
      x-sample-python-url: /python/contacts/createContactListFromFile.py
  "/contacts/lists/{id}":
    delete:
      description: Deletes a contact list, included contacts will not be deleted.
      operationId: deleteContactList
      parameters:
        - description: An id of the contact list to be deleted
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete a contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/deleteContactList.cs
      x-sample-curl-request-url: /curl/contacts/deleteContactList.sh
      x-sample-curl-response-url: /curl/contacts/deleteContactList.json
      x-sample-description-url: /description/contacts/deleteContactList.md
      x-sample-go-url: /go/contacts/deleteContactList.go
      x-sample-java-url: /java/contacts/deleteContactList.java
      x-sample-js-url: /js/contacts/deleteContactList.js
      x-sample-php-url: /php/contacts/deleteContactList.php
      x-sample-python-url: /python/contacts/deleteContactList.py
    get:
      description: Returns a single ContactList instance for a given contact list id
      operationId: getContactList
      parameters:
        - description: An id of a contact list to return
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/getContactList.cs
      x-sample-curl-request-url: /curl/contacts/getContactList.sh
      x-sample-curl-response-url: /curl/contacts/getContactList.json
      x-sample-description-url: /description/contacts/getContactList.md
      x-sample-go-url: /go/contacts/getContactList.go
      x-sample-java-url: /java/contacts/getContactList.java
      x-sample-js-url: /js/contacts/getContactList.js
      x-sample-php-url: /php/contacts/getContactList.php
      x-sample-python-url: /python/contacts/getContactList.py
    put:
      description: Updates contact list instance.
      operationId: updateContactList
      parameters:
        - description: An id of contact list to update
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateContactListRequest"
        description: A request object
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/updateContactList.cs
      x-sample-curl-request-url: /curl/contacts/updateContactList.sh
      x-sample-curl-response-url: /curl/contacts/updateContactList.json
      x-sample-description-url: /description/contacts/updateContactList.md
      x-sample-go-url: /go/contacts/updateContactList.go
      x-sample-java-url: /java/contacts/updateContactList.java
      x-sample-js-url: /js/contacts/updateContactList.js
      x-sample-php-url: /php/contacts/updateContactList.php
      x-sample-python-url: /python/contacts/updateContactList.py
  "/contacts/lists/{id}/items":
    delete:
      description: Deletes contacts from a contact list. List the contact ids in request to delete multiple contacts with one request.
      operationId: removeContactListItems
      parameters:
        - description: A id of a contact list
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: An id of a contact entity in the CallFire system
          explode: true
          in: query
          name: contactId
          required: false
          schema:
            items:
              format: int64
              type: integer
            type: array
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete contacts from a contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/removeContactListItems.cs
      x-sample-curl-request-url: /curl/contacts/removeContactListItems.sh
      x-sample-curl-response-url: /curl/contacts/removeContactListItems.json
      x-sample-description-url: /description/contacts/removeContactListItems.md
      x-sample-go-url: /go/contacts/removeContactListItems.go
      x-sample-java-url: /java/contacts/removeContactListItems.java
      x-sample-js-url: /js/contacts/removeContactListItems.js
      x-sample-php-url: /php/contacts/removeContactListItems.php
      x-sample-python-url: /python/contacts/removeContactListItems.py
    get:
      description: Searches for all entries in a contact list with specified id. Returns a paged list of contact entries
      operationId: getContactListItems
      parameters:
        - description: An id of a contact list
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find contacts in a contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/getContactListItems.cs
      x-sample-curl-request-url: /curl/contacts/getContactListItems.sh
      x-sample-curl-response-url: /curl/contacts/getContactListItems.json
      x-sample-description-url: /description/contacts/getContactListItems.md
      x-sample-go-url: /go/contacts/getContactListItems.go
      x-sample-java-url: /java/contacts/getContactListItems.java
      x-sample-js-url: /js/contacts/getContactListItems.js
      x-sample-php-url: /php/contacts/getContactListItems.php
      x-sample-python-url: /python/contacts/getContactListItems.py
    post:
      description: "Adds contacts to a contact list. Available contact sources are: list of the contact entities, list of ids of existing contacts in user's account, list of phone numbers in E.164 format (11-digits)"
      operationId: addContactListItems
      parameters:
        - description: An id of a contact list
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AddContactListContactsRequest"
        description: A request object
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add contacts to a contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/addContactListItems.cs
      x-sample-curl-request-url: /curl/contacts/addContactListItems.sh
      x-sample-curl-response-url: /curl/contacts/addContactListItems.json
      x-sample-description-url: /description/contacts/addContactListItems.md
      x-sample-go-url: /go/contacts/addContactListItems.go
      x-sample-java-url: /java/contacts/addContactListItems.java
      x-sample-js-url: /js/contacts/addContactListItems.js
      x-sample-php-url: /php/contacts/addContactListItems.php
      x-sample-python-url: /python/contacts/addContactListItems.py
  "/contacts/lists/{id}/items/{contactId}":
    delete:
      description: Deletes a single contact from a contact list
      operationId: removeContactListItem
      parameters:
        - description: An id of a contact list
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: An id of a contact
          in: path
          name: contactId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete a contact from a contact list
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/removeContactListItem.cs
      x-sample-curl-request-url: /curl/contacts/removeContactListItem.sh
      x-sample-curl-response-url: /curl/contacts/removeContactListItem.json
      x-sample-description-url: /description/contacts/removeContactListItem.md
      x-sample-go-url: /go/contacts/removeContactListItem.go
      x-sample-java-url: /java/contacts/removeContactListItem.java
      x-sample-js-url: /js/contacts/removeContactListItem.js
      x-sample-php-url: /php/contacts/removeContactListItem.php
      x-sample-python-url: /python/contacts/removeContactListItem.py
  "/contacts/{id}":
    delete:
      description: Deletes a contact instance from account
      operationId: deleteContact
      parameters:
        - description: An Id of a contact
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete a contact
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/deleteContact.cs
      x-sample-curl-request-url: /curl/contacts/deleteContact.sh
      x-sample-curl-response-url: /curl/contacts/deleteContact.json
      x-sample-description-url: /description/contacts/deleteContact.md
      x-sample-go-url: /go/contacts/deleteContact.go
      x-sample-java-url: /java/contacts/deleteContact.java
      x-sample-js-url: /js/contacts/deleteContact.js
      x-sample-php-url: /php/contacts/deleteContact.php
      x-sample-python-url: /python/contacts/deleteContact.py
    get:
      description: Returns a Contact instance for a given contact id. Deleted contacts can be still retrieved but will be marked as deleted. Deleted contacts will not be shown in search request.
      operationId: getContact
      parameters:
        - description: An id of a contact
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Contact"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific contact
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/getContact.cs
      x-sample-curl-request-url: /curl/contacts/getContact.sh
      x-sample-curl-response-url: /curl/contacts/getContact.json
      x-sample-description-url: /description/contacts/getContact.md
      x-sample-go-url: /go/contacts/getContact.go
      x-sample-java-url: /java/contacts/getContact.java
      x-sample-js-url: /js/contacts/getContact.js
      x-sample-php-url: /php/contacts/getContact.php
      x-sample-python-url: /python/contacts/getContact.py
    put:
      description: Updates a single contact instance with id specified. See [contact validation rules](https://www.callfire.com/help/docs/getting-started/managing-contacts/validating-contacts#section1)
      operationId: updateContact
      parameters:
        - description: An id of a contact
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Contact"
        description: A contact object
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a contact
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/updateContact.cs
      x-sample-curl-request-url: /curl/contacts/updateContact.sh
      x-sample-curl-response-url: /curl/contacts/updateContact.json
      x-sample-description-url: /description/contacts/updateContact.md
      x-sample-go-url: /go/contacts/updateContact.go
      x-sample-java-url: /java/contacts/updateContact.java
      x-sample-js-url: /js/contacts/updateContact.js
      x-sample-php-url: /php/contacts/updateContact.php
      x-sample-python-url: /python/contacts/updateContact.py
  "/contacts/{id}/history":
    get:
      description: Searches for all texts and calls attributed to a contact. Returns a list of calls and texts a contact has been involved with
      operationId: getContactHistory
      parameters:
        - description: An Id of a contact
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            format: int32
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ContactHistory"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a contact's history
      tags:
        - contacts
      x-sample-csharp-url: /csharp/contacts/getContactHistory.cs
      x-sample-curl-request-url: /curl/contacts/getContactHistory.sh
      x-sample-curl-response-url: /curl/contacts/getContactHistory.json
      x-sample-description-url: /description/contacts/getContactHistory.md
      x-sample-go-url: /go/contacts/getContactHistory.go
      x-sample-java-url: /java/contacts/getContactHistory.java
      x-sample-js-url: /js/contacts/getContactHistory.js
      x-sample-php-url: /php/contacts/getContactHistory.php
      x-sample-python-url: /python/contacts/getContactHistory.py
  /keywords:
    get:
      description: Searches for all keywords available for purchase on the CallFire platform. If a keyword appears in the response, it is available for purchase. List the 'keywords' in a query parameter to search for multiple keywords (at least one keyword should be sent in request). Keyword should only consist of uppercase and lowercase letters and numbers. Number of characters must be greater than 2, but less than 65.
      operationId: findKeywords
      parameters:
        - description: A keyword to search for
          explode: true
          in: query
          name: keywords
          required: false
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeywordList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find keywords
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/findKeywords.cs
      x-sample-curl-request-url: /curl/keywords/findKeywords.sh
      x-sample-curl-response-url: /curl/keywords/findKeywords.json
      x-sample-description-url: /description/keywords/findKeywords.md
      x-sample-go-url: /go/keywords/findKeywords.go
      x-sample-java-url: /java/keywords/findKeywords.java
      x-sample-js-url: /js/keywords/findKeywords.js
      x-sample-php-url: /php/keywords/findKeywords.php
      x-sample-python-url: /python/keywords/findKeywords.py
  /keywords/leases:
    get:
      description: Searches for all keywords owned by user. A keyword lease is the ownership information involving a keyword
      operationId: findKeywordLeases
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: Filter by part of Keyword name or Label name of Keyword
          in: query
          name: filter
          required: false
          schema:
            type: string
        - description: An exact label name to search by
          in: query
          name: labelName
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeywordLeasePage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find keyword leases
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/findKeywordLeases.cs
      x-sample-curl-request-url: /curl/keywords/findKeywordLeases.sh
      x-sample-curl-response-url: /curl/keywords/findKeywordLeases.json
      x-sample-description-url: /description/keywords/findKeywordLeases.md
      x-sample-go-url: /go/keywords/findKeywordLeases.go
      x-sample-java-url: /java/keywords/findKeywordLeases.java
      x-sample-js-url: /js/keywords/findKeywordLeases.js
      x-sample-php-url: /php/keywords/findKeywordLeases.php
      x-sample-python-url: /python/keywords/findKeywordLeases.py
  /keywords/leases/configs:
    get:
      description: Searches for all keyword lease configs for the user. Returns a paged list of KeywordConfig
      operationId: findKeywordLeaseConfigs
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 20
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: Filter by part of Keyword name or Label name of Keyword
          in: query
          name: filter
          required: false
          schema:
            type: string
        - description: An exact label name to search by
          in: query
          name: labelName
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Page"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find keyword lease configs
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/findKeywordLeaseConfigs.cs
      x-sample-curl-request-url: /curl/keywords/findKeywordLeaseConfigs.sh
      x-sample-curl-response-url: /curl/keywords/findKeywordLeaseConfigs.json
      x-sample-description-url: /description/keywords/findKeywordLeaseConfigs.md
      x-sample-go-url: /go/keywords/findKeywordLeaseConfigs.go
      x-sample-java-url: /java/keywords/findKeywordLeaseConfigs.java
      x-sample-js-url: /js/keywords/findKeywordLeaseConfigs.js
      x-sample-php-url: /php/keywords/findKeywordLeaseConfigs.php
      x-sample-python-url: /python/keywords/findKeywordLeaseConfigs.py
  "/keywords/leases/configs/{keyword}":
    get:
      description: Returns a single KeywordConfig instance for a given keyword lease
      operationId: getKeywordLeaseConfig
      parameters:
        - description: A Keyword to get KeywordConfig by
          in: path
          name: keyword
          required: true
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeywordConfig"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific keyword lease config
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/getKeywordLeaseConfig.cs
      x-sample-curl-request-url: /curl/keywords/getKeywordLeaseConfig.sh
      x-sample-curl-response-url: /curl/keywords/getKeywordLeaseConfig.json
      x-sample-description-url: /description/keywords/getKeywordLeaseConfig.md
      x-sample-go-url: /go/keywords/getKeywordLeaseConfig.go
      x-sample-java-url: /java/keywords/getKeywordLeaseConfig.java
      x-sample-js-url: /js/keywords/getKeywordLeaseConfig.js
      x-sample-php-url: /php/keywords/getKeywordLeaseConfig.php
      x-sample-python-url: /python/keywords/getKeywordLeaseConfig.py
    put:
      description: Updates a keyword lease configuration. Use this API endpoint to enable/disable inbound SMS forwarding, set forward number. Forward number must be in E.164 format)
      operationId: updateKeywordLeaseConfig
      parameters:
        - description: To update a keyword lease config
          in: path
          name: keyword
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/KeywordConfig"
        description: The configuration of a keyword lease object.
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a keyword lease config
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/updateKeywordLeaseConfig.cs
      x-sample-curl-request-url: /curl/keywords/updateKeywordLeaseConfig.sh
      x-sample-curl-response-url: /curl/keywords/updateKeywordLeaseConfig.json
      x-sample-description-url: /description/keywords/updateKeywordLeaseConfig.md
      x-sample-go-url: /go/keywords/updateKeywordLeaseConfig.go
      x-sample-java-url: /java/keywords/updateKeywordLeaseConfig.java
      x-sample-js-url: /js/keywords/updateKeywordLeaseConfig.js
      x-sample-php-url: /php/keywords/updateKeywordLeaseConfig.php
      x-sample-python-url: /python/keywords/updateKeywordLeaseConfig.py
  "/keywords/leases/id/{id}":
    get:
      description: Get keyword by id
      operationId: getKeywordLeaseById
      parameters:
        - description: "~"
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeywordLease"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a keyword by id
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/getKeywordLeaseById.cs
      x-sample-curl-request-url: /curl/keywords/getKeywordLeaseById.sh
      x-sample-curl-response-url: /curl/keywords/getKeywordLeaseById.json
      x-sample-description-url: /description/keywords/getKeywordLeaseById.md
      x-sample-go-url: /go/keywords/getKeywordLeaseById.go
      x-sample-java-url: /java/keywords/getKeywordLeaseById.java
      x-sample-js-url: /js/keywords/getKeywordLeaseById.js
      x-sample-php-url: /php/keywords/getKeywordLeaseById.php
      x-sample-python-url: /python/keywords/getKeywordLeaseById.py
  "/keywords/leases/{keyword}":
    get:
      description: Searches for all keywords owned by user
      operationId: getKeywordLease
      parameters:
        - description: Keyword text that a lease is desired for
          in: path
          name: keyword
          required: true
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeywordLease"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific lease
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/getKeywordLease.cs
      x-sample-curl-request-url: /curl/keywords/getKeywordLease.sh
      x-sample-curl-response-url: /curl/keywords/getKeywordLease.json
      x-sample-description-url: /description/keywords/getKeywordLease.md
      x-sample-go-url: /go/keywords/getKeywordLease.go
      x-sample-java-url: /java/keywords/getKeywordLease.java
      x-sample-js-url: /js/keywords/getKeywordLease.js
      x-sample-php-url: /php/keywords/getKeywordLease.php
      x-sample-python-url: /python/keywords/getKeywordLease.py
    put:
      description: Updates a keyword lease. Turns the autoRenew on/off. Configure double opt in feature. Add/remove contact list from keyword.
      operationId: updateKeywordLease
      parameters:
        - description: To update a keyword lease
          in: path
          name: keyword
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/KeywordLease"
        description: A keyword lease object
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a lease
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/updateKeywordLease.cs
      x-sample-curl-request-url: /curl/keywords/updateKeywordLease.sh
      x-sample-curl-response-url: /curl/keywords/updateKeywordLease.json
      x-sample-description-url: /description/keywords/updateKeywordLease.md
      x-sample-go-url: /go/keywords/updateKeywordLease.go
      x-sample-java-url: /java/keywords/updateKeywordLease.java
      x-sample-js-url: /js/keywords/updateKeywordLease.js
      x-sample-php-url: /php/keywords/updateKeywordLease.php
      x-sample-python-url: /python/keywords/updateKeywordLease.py
  "/keywords/{keyword}/available":
    get:
      description: Searches for the specific keyword to purchase on the CallFire platform. Returns 'true' if keyword is available. Keyword should only consist of uppercase and lowercase letters and numbers. Number of characters must be greater than 2, but less than 65.
      operationId: isKeywordAvailable
      parameters:
        - description: "To specify a keyword to search for. Example: SUN, MOON"
          in: path
          name: keyword
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: boolean
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Check for a specific keyword
      tags:
        - keywords
      x-sample-csharp-url: /csharp/keywords/isKeywordAvailable.cs
      x-sample-curl-request-url: /curl/keywords/isKeywordAvailable.sh
      x-sample-curl-response-url: /curl/keywords/isKeywordAvailable.json
      x-sample-description-url: /description/keywords/isKeywordAvailable.md
      x-sample-go-url: /go/keywords/isKeywordAvailable.go
      x-sample-java-url: /java/keywords/isKeywordAvailable.java
      x-sample-js-url: /js/keywords/isKeywordAvailable.js
      x-sample-php-url: /php/keywords/isKeywordAvailable.php
      x-sample-python-url: /python/keywords/isKeywordAvailable.py
  /me/account:
    get:
      description: Searches for the user account details. Details include name, email, and basic account permissions. For authentication use api credentials.
      operationId: getAccount
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Account"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find account details
      tags:
        - me
      x-sample-csharp-url: /csharp/me/getAccount.cs
      x-sample-curl-request-url: /curl/me/getAccount.sh
      x-sample-curl-response-url: /curl/me/getAccount.json
      x-sample-description-url: /description/me/getAccount.md
      x-sample-go-url: /go/me/getAccount.go
      x-sample-java-url: /java/me/getAccount.java
      x-sample-js-url: /js/me/getAccount.js
      x-sample-php-url: /php/me/getAccount.php
      x-sample-python-url: /python/me/getAccount.py
  /me/api/credentials:
    get:
      description: Searches for all credentials generated by user. Returns a paged list of the API credentials. Only ACCOUNT_HOLDER can invoke this API. For authentication use account credentials.
      operationId: findApiCredentials
      parameters:
        - description: Filter by name
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiCredentialPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find api credentials
      tags:
        - me
      x-sample-csharp-url: /csharp/me/findApiCredentials.cs
      x-sample-curl-request-url: /curl/me/findApiCredentials.sh
      x-sample-curl-response-url: /curl/me/findApiCredentials.json
      x-sample-description-url: /description/me/findApiCredentials.md
      x-sample-go-url: /go/me/findApiCredentials.go
      x-sample-java-url: /java/me/findApiCredentials.java
      x-sample-js-url: /js/me/findApiCredentials.js
      x-sample-php-url: /php/me/findApiCredentials.php
      x-sample-python-url: /python/me/findApiCredentials.py
    post:
      description: Creates an API credentials for the CallFire API. This endpoint requires full CallFire account credentials to be used, authenticated using Basic Authentication. At the moment user provides only the name for the credentials. The generated credentials can be used to access any CallFire APIs. For authentication use account credentials.
      operationId: createApiCredential
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApiCredential"
        description: To create the API credentials
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiCredential"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create api credentials
      tags:
        - me
      x-sample-csharp-url: /csharp/me/createApiCredential.cs
      x-sample-curl-request-url: /curl/me/createApiCredential.sh
      x-sample-curl-response-url: /curl/me/createApiCredential.json
      x-sample-description-url: /description/me/createApiCredential.md
      x-sample-go-url: /go/me/createApiCredential.go
      x-sample-java-url: /java/me/createApiCredential.java
      x-sample-js-url: /js/me/createApiCredential.js
      x-sample-php-url: /php/me/createApiCredential.php
      x-sample-python-url: /python/me/createApiCredential.py
  "/me/api/credentials/{id}":
    delete:
      description: Deletes a specified API credential. Currently, removes the ability to access the API. Only ACCOUNT_HOLDER can invoke this API. For authentication use account credentials.
      operationId: deleteApiCredential
      parameters:
        - description: An id of an API credential
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete api credentials
      tags:
        - me
      x-sample-csharp-url: /csharp/me/deleteApiCredential.cs
      x-sample-curl-request-url: /curl/me/deleteApiCredential.sh
      x-sample-curl-response-url: /curl/me/deleteApiCredential.json
      x-sample-description-url: /description/me/deleteApiCredential.md
      x-sample-go-url: /go/me/deleteApiCredential.go
      x-sample-java-url: /java/me/deleteApiCredential.java
      x-sample-js-url: /js/me/deleteApiCredential.js
      x-sample-php-url: /php/me/deleteApiCredential.php
      x-sample-python-url: /python/me/deleteApiCredential.py
    get:
      description: Returns an API credential instance for a given api credential id. Only ACCOUNT_HOLDER can invoke this API. For authentication use account credentials.
      operationId: getApiCredential
      parameters:
        - description: An id of an API credential
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiCredential"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific api credential
      tags:
        - me
      x-sample-csharp-url: /csharp/me/getApiCredential.cs
      x-sample-curl-request-url: /curl/me/getApiCredential.sh
      x-sample-curl-response-url: /curl/me/getApiCredential.json
      x-sample-description-url: /description/me/getApiCredential.md
      x-sample-go-url: /go/me/getApiCredential.go
      x-sample-java-url: /java/me/getApiCredential.java
      x-sample-js-url: /js/me/getApiCredential.js
      x-sample-php-url: /php/me/getApiCredential.php
      x-sample-python-url: /python/me/getApiCredential.py
  "/me/api/credentials/{id}/disable":
    post:
      description: Disables a specified API credential. Currently, removes the ability to access the API. Only ACCOUNT_HOLDER can invoke this API. For authentication use account credentials.
      operationId: disableApiCredentials
      parameters:
        - description: An id of an API credential
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Disable specified API credentials
      tags:
        - me
      x-sample-csharp-url: /csharp/me/disableApiCredentials.cs
      x-sample-curl-request-url: /curl/me/disableApiCredentials.sh
      x-sample-curl-response-url: /curl/me/disableApiCredentials.json
      x-sample-description-url: /description/me/disableApiCredentials.md
      x-sample-go-url: /go/me/disableApiCredentials.go
      x-sample-java-url: /java/me/disableApiCredentials.java
      x-sample-js-url: /js/me/disableApiCredentials.js
      x-sample-php-url: /php/me/disableApiCredentials.php
      x-sample-python-url: /python/me/disableApiCredentials.py
  "/me/api/credentials/{id}/enable":
    post:
      description: Enables a specified API credential. Currently, adds the ability to access the API. Only ACCOUNT_HOLDER can invoke this API. For authentication use account credentials.
      operationId: enableApiCredentials
      parameters:
        - description: An id of an API credential
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Enable specified API credentials
      tags:
        - me
      x-sample-csharp-url: /csharp/me/enableApiCredentials.cs
      x-sample-curl-request-url: /curl/me/enableApiCredentials.sh
      x-sample-curl-response-url: /curl/me/enableApiCredentials.json
      x-sample-description-url: /description/me/enableApiCredentials.md
      x-sample-go-url: /go/me/enableApiCredentials.go
      x-sample-java-url: /java/me/enableApiCredentials.java
      x-sample-js-url: /js/me/enableApiCredentials.js
      x-sample-php-url: /php/me/enableApiCredentials.php
      x-sample-python-url: /python/me/enableApiCredentials.py
  /me/billing/credit-usage:
    get:
      description: Find credit usage for the user. Returns credits usage for time period specified or if unspecified then total for all time. For authentication use api credentials.
      operationId: getCreditUsage
      parameters:
        - description: "Beginning of usage period formatted in unix time milliseconds. Example: 1473781817000"
          in: query
          name: intervalBegin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of usage period formatted in unix time milliseconds. Example: 1473781817000"
          in: query
          name: intervalEnd
          required: false
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CreditUsage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find credit usage
      tags:
        - me
      x-sample-csharp-url: /csharp/me/getCreditUsage.cs
      x-sample-curl-request-url: /curl/me/getCreditUsage.sh
      x-sample-curl-response-url: /curl/me/getCreditUsage.json
      x-sample-description-url: /description/me/getCreditUsage.md
      x-sample-go-url: /go/me/getCreditUsage.go
      x-sample-java-url: /java/me/getCreditUsage.java
      x-sample-js-url: /js/me/getCreditUsage.js
      x-sample-php-url: /php/me/getCreditUsage.php
      x-sample-python-url: /python/me/getCreditUsage.py
  /me/billing/plan-usage:
    get:
      description: Searches for the data of a billing plan usage for the user. Returns the data of a billing plan usage for the current month. For authentication use api credentials.
      operationId: getBillingPlanUsage
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BillingPlanUsage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find plan usage
      tags:
        - me
      x-sample-csharp-url: /csharp/me/getBillingPlanUsage.cs
      x-sample-curl-request-url: /curl/me/getBillingPlanUsage.sh
      x-sample-curl-response-url: /curl/me/getBillingPlanUsage.json
      x-sample-description-url: /description/me/getBillingPlanUsage.md
      x-sample-go-url: /go/me/getBillingPlanUsage.go
      x-sample-java-url: /java/me/getBillingPlanUsage.java
      x-sample-js-url: /js/me/getBillingPlanUsage.js
      x-sample-php-url: /php/me/getBillingPlanUsage.php
      x-sample-python-url: /python/me/getBillingPlanUsage.py
  /me/callerids:
    get:
      description: Returns a list of verified caller ids. If the number is not shown in the list, then it is not verified. In this case sending of a verification code is required. For authentication use api credentials.
      operationId: getCallerIds
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CallerIdList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find caller ids
      tags:
        - me
      x-sample-csharp-url: /csharp/me/getCallerIds.cs
      x-sample-curl-request-url: /curl/me/getCallerIds.sh
      x-sample-curl-response-url: /curl/me/getCallerIds.json
      x-sample-description-url: /description/me/getCallerIds.md
      x-sample-go-url: /go/me/getCallerIds.go
      x-sample-java-url: /java/me/getCallerIds.java
      x-sample-js-url: /js/me/getCallerIds.js
      x-sample-php-url: /php/me/getCallerIds.php
      x-sample-python-url: /python/me/getCallerIds.py
  "/me/callerids/{callerid}":
    post:
      description: Generates and sends a verification code to the phone number provided in the path. The verification code is delivered via a phone call. This code needs to be submitted to the verify caller id API endpoint to complete verification. For authentication use api credentials.
      operationId: sendVerificationCodeToCallerId
      parameters:
        - description: "A phone number in E.164 format (11-digit) which needs to be verified. Example: 12132000384"
          in: path
          name: callerid
          required: true
          schema:
            type: string
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create a caller id
      tags:
        - me
      x-sample-csharp-url: /csharp/me/sendVerificationCodeToCallerId.cs
      x-sample-curl-request-url: /curl/me/sendVerificationCodeToCallerId.sh
      x-sample-curl-response-url: /curl/me/sendVerificationCodeToCallerId.json
      x-sample-description-url: /description/me/sendVerificationCodeToCallerId.md
      x-sample-go-url: /go/me/sendVerificationCodeToCallerId.go
      x-sample-java-url: /java/me/sendVerificationCodeToCallerId.java
      x-sample-js-url: /js/me/sendVerificationCodeToCallerId.js
      x-sample-php-url: /php/me/sendVerificationCodeToCallerId.php
      x-sample-python-url: /python/me/sendVerificationCodeToCallerId.py
  "/me/callerids/{callerid}/verification-code":
    post:
      description: With the verification code received from the Create caller id endpoint, a call to this endpoint is required to finish verification. For authentication use api credentials.
      operationId: verifyCallerId
      parameters:
        - description: "A phone number in E.164 format (11-digit) which needs to be verified. Example: 12132000384"
          in: path
          name: callerid
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CallerIdVerificationRequest"
        description: request
      responses:
        "200":
          content:
            application/json:
              schema:
                type: boolean
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Verify a caller id
      tags:
        - me
      x-sample-csharp-url: /csharp/me/verifyCallerId.cs
      x-sample-curl-request-url: /curl/me/verifyCallerId.sh
      x-sample-curl-response-url: /curl/me/verifyCallerId.json
      x-sample-description-url: /description/me/verifyCallerId.md
      x-sample-go-url: /go/me/verifyCallerId.go
      x-sample-java-url: /java/me/verifyCallerId.java
      x-sample-js-url: /js/me/verifyCallerId.js
      x-sample-php-url: /php/me/verifyCallerId.php
      x-sample-python-url: /python/me/verifyCallerId.py
  /media:
    get:
      description: Find media files created by user
      operationId: findMedia
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: value to filter file names again; this value is used to check if the filename contains the filter value.
          in: query
          name: filter
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MediaPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find media
      tags:
        - media
      x-sample-csharp-url: /csharp/media/findMedia.cs
      x-sample-curl-request-url: /curl/media/findMedia.sh
      x-sample-curl-response-url: /curl/media/findMedia.json
      x-sample-description-url: /description/media/findMedia.md
      x-sample-go-url: /go/media/findMedia.go
      x-sample-java-url: /java/media/findMedia.java
      x-sample-js-url: /js/media/findMedia.js
      x-sample-php-url: /php/media/findMedia.php
      x-sample-python-url: /python/media/findMedia.py
    post:
      description: "Uploads media file to account, acceptable media formats: bmp, gif, jpg, m4a, mp3, mp4, png, wav"
      operationId: createMedia
      requestBody:
        content:
          multipart/form-data:
            schema:
              properties:
                file:
                  description: Binary media file
                  format: binary
                  type: string
                name:
                  description: A name of a media file
                  type: string
              required:
                - file
              type: object
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create media
      tags:
        - media
      x-sample-csharp-url: /csharp/media/createMedia.cs
      x-sample-curl-request-url: /curl/media/createMedia.sh
      x-sample-curl-response-url: /curl/media/createMedia.json
      x-sample-description-url: /description/media/createMedia.md
      x-sample-go-url: /go/media/createMedia.go
      x-sample-java-url: /java/media/createMedia.java
      x-sample-js-url: /js/media/createMedia.js
      x-sample-php-url: /php/media/createMedia.php
      x-sample-python-url: /python/media/createMedia.py
  "/media/public/{key}.{extension}":
    get:
      description: "Download a media file. Available types of files: bmp, gif, jpg, m4a, mp3, mp4, png, wav. Content type in response depends on 'extension' parameter, e.g. image/jpeg, image/png, audio/mp3, etc"
      operationId: getMediaDataByKey
      parameters:
        - description: A hash-key of a media resource
          in: path
          name: key
          required: true
          schema:
            type: string
        - description: "Media file type, available types: bmp, gif, jpg, m4a, mp3, mp4, png, wav"
          in: path
          name: extension
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/InputStream"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/InputStream"
            audio/wav:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/gif:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/png:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/InputStream"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/InputStream"
            video/mp4:
              schema:
                $ref: "#/components/schemas/InputStream"
          description: successful operation
        "400":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Download media by extension
      tags:
        - media
      x-sample-csharp-url: /csharp/media/getMediaDataByKey.cs
      x-sample-curl-request-url: /curl/media/getMediaDataByKey.sh
      x-sample-curl-response-url: /curl/media/getMediaDataByKey.json
      x-sample-description-url: /description/media/getMediaDataByKey.md
      x-sample-go-url: /go/media/getMediaDataByKey.go
      x-sample-java-url: /java/media/getMediaDataByKey.java
      x-sample-js-url: /js/media/getMediaDataByKey.js
      x-sample-php-url: /php/media/getMediaDataByKey.php
      x-sample-python-url: /python/media/getMediaDataByKey.py
  "/media/{id}":
    get:
      description: Get media resource by id
      operationId: getMedia
      parameters:
        - description: An id of a media resource
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Media"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get a specific media
      tags:
        - media
      x-sample-csharp-url: /csharp/media/getMedia.cs
      x-sample-curl-request-url: /curl/media/getMedia.sh
      x-sample-curl-response-url: /curl/media/getMedia.json
      x-sample-description-url: /description/media/getMedia.md
      x-sample-go-url: /go/media/getMedia.go
      x-sample-java-url: /java/media/getMedia.java
      x-sample-js-url: /js/media/getMedia.js
      x-sample-php-url: /php/media/getMedia.php
      x-sample-python-url: /python/media/getMedia.py
  "/media/{id}.{extension}":
    get:
      description: "Download a media file. Available types of files: bmp, gif, jpg, m4a, mp3, mp4, png, wav. Content type in response depends on 'extension' parameter, e.g. image/jpeg, image/png, audio/mp3, etc"
      operationId: getMediaData
      parameters:
        - description: An id of a media resource
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Media file type. Available types: bmp, gif, jpg, m4a, mp3, mp4, png, wav"
          in: path
          name: extension
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/InputStream"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/InputStream"
            audio/wav:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/gif:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/png:
              schema:
                $ref: "#/components/schemas/InputStream"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/InputStream"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/InputStream"
            video/mp4:
              schema:
                $ref: "#/components/schemas/InputStream"
          description: successful operation
        "400":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            audio/m4a:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/mp3:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            audio/wav:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/gif:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/jpeg:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/png:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            image/x-bmp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/3gpp:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
            video/mp4:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Download media by extension
      tags:
        - media
      x-sample-csharp-url: /csharp/media/getMediaData.cs
      x-sample-curl-request-url: /curl/media/getMediaData.sh
      x-sample-curl-response-url: /curl/media/getMediaData.json
      x-sample-description-url: /description/media/getMediaData.md
      x-sample-go-url: /go/media/getMediaData.go
      x-sample-java-url: /java/media/getMediaData.java
      x-sample-js-url: /js/media/getMediaData.js
      x-sample-php-url: /php/media/getMediaData.php
      x-sample-python-url: /python/media/getMediaData.py
  "/media/{id}/file":
    get:
      description: Download a MP3 media, endpoint returns application/binary content-type
      operationId: getMediaDataBinary
      parameters:
        - description: An id of a media resource
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/binary:
              schema:
                $ref: "#/components/schemas/InputStream"
          description: successful operation
        "400":
          content:
            application/binary:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/binary:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/binary:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/binary:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/binary:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Download a MP3 media
      tags:
        - media
      x-sample-csharp-url: /csharp/media/getMediaDataBinary.cs
      x-sample-curl-request-url: /curl/media/getMediaDataBinary.sh
      x-sample-curl-response-url: /curl/media/getMediaDataBinary.json
      x-sample-description-url: /description/media/getMediaDataBinary.md
      x-sample-go-url: /go/media/getMediaDataBinary.go
      x-sample-java-url: /java/media/getMediaDataBinary.java
      x-sample-js-url: /js/media/getMediaDataBinary.js
      x-sample-php-url: /php/media/getMediaDataBinary.php
      x-sample-python-url: /python/media/getMediaDataBinary.py
  /numbers/leases:
    get:
      description: Searches for all numbers leased by account user. This API is useful for finding all numbers currently owned by the user. Returns a paged list of number leases.
      operationId: findNumberLeases
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A 4-7 digit prefix
          in: query
          name: prefix
          required: false
          schema:
            type: string
        - description: A city name
          in: query
          name: city
          required: false
          schema:
            type: string
        - description: "A two-letter state code. Example: CA, IL, etc."
          in: query
          name: state
          required: false
          schema:
            type: string
        - description: A five-digit Zipcode
          in: query
          name: zipcode
          required: false
          schema:
            type: string
        - description: A label name
          in: query
          name: labelName
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: tollFree
          required: false
          schema:
            type: boolean
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberLeasePage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find leases
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/findNumberLeases.cs
      x-sample-curl-request-url: /curl/numbers/findNumberLeases.sh
      x-sample-curl-response-url: /curl/numbers/findNumberLeases.json
      x-sample-description-url: /description/numbers/findNumberLeases.md
      x-sample-go-url: /go/numbers/findNumberLeases.go
      x-sample-java-url: /java/numbers/findNumberLeases.java
      x-sample-js-url: /js/numbers/findNumberLeases.js
      x-sample-php-url: /php/numbers/findNumberLeases.php
      x-sample-python-url: /python/numbers/findNumberLeases.py
  /numbers/leases/configs:
    get:
      description: Searches for all number lease configs for the user. Returns a paged list of NumberConfig
      operationId: findNumberLeaseConfigs
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A 4-7 digit prefix
          in: query
          name: prefix
          required: false
          schema:
            type: string
        - description: A city name
          in: query
          name: city
          required: false
          schema:
            type: string
        - description: "A two-letter state code. Example: CA, IL, etc."
          in: query
          name: state
          required: false
          schema:
            type: string
        - description: A five-digit Zipcode
          in: query
          name: zipcode
          required: false
          schema:
            type: string
        - description: A label name
          in: query
          name: labelName
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberConfigPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find lease configs
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/findNumberLeaseConfigs.cs
      x-sample-curl-request-url: /curl/numbers/findNumberLeaseConfigs.sh
      x-sample-curl-response-url: /curl/numbers/findNumberLeaseConfigs.json
      x-sample-description-url: /description/numbers/findNumberLeaseConfigs.md
      x-sample-go-url: /go/numbers/findNumberLeaseConfigs.go
      x-sample-java-url: /java/numbers/findNumberLeaseConfigs.java
      x-sample-js-url: /js/numbers/findNumberLeaseConfigs.js
      x-sample-php-url: /php/numbers/findNumberLeaseConfigs.php
      x-sample-python-url: /python/numbers/findNumberLeaseConfigs.py
  "/numbers/leases/configs/{number}":
    get:
      description: Returns a single NumberConfig instance for a given number lease
      operationId: getNumberLeaseConfig
      parameters:
        - description: "A phone number in E.164 format (11-digit). Example: 12132000384"
          in: path
          name: number
          required: true
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberConfig"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific lease config
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/getNumberLeaseConfig.cs
      x-sample-curl-request-url: /curl/numbers/getNumberLeaseConfig.sh
      x-sample-curl-response-url: /curl/numbers/getNumberLeaseConfig.json
      x-sample-description-url: /description/numbers/getNumberLeaseConfig.md
      x-sample-go-url: /go/numbers/getNumberLeaseConfig.go
      x-sample-java-url: /java/numbers/getNumberLeaseConfig.java
      x-sample-js-url: /js/numbers/getNumberLeaseConfig.js
      x-sample-php-url: /php/numbers/getNumberLeaseConfig.php
      x-sample-python-url: /python/numbers/getNumberLeaseConfig.py
    put:
      description: Updates a phone number lease configuration. Use this API endpoint to add an Inbound IVR or Call Tracking feature to a CallFire phone number. Call tracking configuration allows you to track the incoming calls, to analyze and to respond customers using sms or voice replies. For more information see [call tracking page](https://www.callfire.com/products/call-tracking)
      operationId: updateNumberLeaseConfig
      parameters:
        - description: "A phone number in E.164 format (11-digit) which needs to be verified. Example: 12132000384"
          in: path
          name: number
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NumberConfig"
        description: "The configuration of a number lease object. There are two available types of configuration: IVR, TRACKING "
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a lease config
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/updateNumberLeaseConfig.cs
      x-sample-curl-request-url: /curl/numbers/updateNumberLeaseConfig.sh
      x-sample-curl-response-url: /curl/numbers/updateNumberLeaseConfig.json
      x-sample-description-url: /description/numbers/updateNumberLeaseConfig.md
      x-sample-go-url: /go/numbers/updateNumberLeaseConfig.go
      x-sample-java-url: /java/numbers/updateNumberLeaseConfig.java
      x-sample-js-url: /js/numbers/updateNumberLeaseConfig.js
      x-sample-php-url: /php/numbers/updateNumberLeaseConfig.php
      x-sample-python-url: /python/numbers/updateNumberLeaseConfig.py
  "/numbers/leases/{number}":
    get:
      description: Returns a single NumberLease instance for a given number
      operationId: getNumberLease
      parameters:
        - description: "A phone number in E.164 format (11-digit). Example: 12132000384"
          in: path
          name: number
          required: true
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberLease"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific lease
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/getNumberLease.cs
      x-sample-curl-request-url: /curl/numbers/getNumberLease.sh
      x-sample-curl-response-url: /curl/numbers/getNumberLease.json
      x-sample-description-url: /description/numbers/getNumberLease.md
      x-sample-go-url: /go/numbers/getNumberLease.go
      x-sample-java-url: /java/numbers/getNumberLease.java
      x-sample-js-url: /js/numbers/getNumberLease.js
      x-sample-php-url: /php/numbers/getNumberLease.php
      x-sample-python-url: /python/numbers/getNumberLease.py
    put:
      description: Updates a number lease instance. Ability to turn on/off autoRenew and toggle call/text features for a particular number
      operationId: updateNumberLease
      parameters:
        - description: "A phone number in E.164 format (11-digit). Example: 12132000384"
          in: path
          name: number
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NumberLease"
        description: A NumberLease object to update
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a lease
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/updateNumberLease.cs
      x-sample-curl-request-url: /curl/numbers/updateNumberLease.sh
      x-sample-curl-response-url: /curl/numbers/updateNumberLease.json
      x-sample-description-url: /description/numbers/updateNumberLease.md
      x-sample-go-url: /go/numbers/updateNumberLease.go
      x-sample-java-url: /java/numbers/updateNumberLease.java
      x-sample-js-url: /js/numbers/updateNumberLease.js
      x-sample-php-url: /php/numbers/updateNumberLease.php
      x-sample-python-url: /python/numbers/updateNumberLease.py
  /numbers/local:
    get:
      description: Searches for numbers available for purchase in CallFire local numbers catalog . At least one additional parameter is required. User may filter local numbers by their region information. If all numbers with desirable zip code is already busy search will return available numbers with nearest zip code.
      operationId: findNumbersLocal
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: A 4-7 digit prefix
          in: query
          name: prefix
          required: false
          schema:
            type: string
        - description: A city name
          in: query
          name: city
          required: false
          schema:
            type: string
        - description: "A two-letter state code. Example: CA, IL, etc."
          in: query
          name: state
          required: false
          schema:
            type: string
        - description: A five-digit Zipcode
          in: query
          name: zipcode
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find local numbers
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/findNumbersLocal.cs
      x-sample-curl-request-url: /curl/numbers/findNumbersLocal.sh
      x-sample-curl-response-url: /curl/numbers/findNumbersLocal.json
      x-sample-description-url: /description/numbers/findNumbersLocal.md
      x-sample-go-url: /go/numbers/findNumbersLocal.go
      x-sample-java-url: /java/numbers/findNumbersLocal.java
      x-sample-js-url: /js/numbers/findNumbersLocal.js
      x-sample-php-url: /php/numbers/findNumbersLocal.php
      x-sample-python-url: /python/numbers/findNumbersLocal.py
  /numbers/regions:
    get:
      description: Searches for region information. Use this API to obtain detailed region information that can be used to query for more specific phone numbers than a general query.
      operationId: findNumberRegions
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A 4-7 digit prefix
          in: query
          name: prefix
          required: false
          schema:
            type: string
        - description: A city name
          in: query
          name: city
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: cityPrefix
          required: false
          schema:
            type: string
        - description: "A two-letter state code. Example: CA, IL, etc."
          in: query
          name: state
          required: false
          schema:
            type: string
        - description: A five-digit Zipcode
          in: query
          name: zipcode
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: country
          required: false
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RegionPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find number regions
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/findNumberRegions.cs
      x-sample-curl-request-url: /curl/numbers/findNumberRegions.sh
      x-sample-curl-response-url: /curl/numbers/findNumberRegions.json
      x-sample-description-url: /description/numbers/findNumberRegions.md
      x-sample-go-url: /go/numbers/findNumberRegions.go
      x-sample-java-url: /java/numbers/findNumberRegions.java
      x-sample-js-url: /js/numbers/findNumberRegions.js
      x-sample-php-url: /php/numbers/findNumberRegions.php
      x-sample-python-url: /python/numbers/findNumberRegions.py
  /numbers/tollfree:
    get:
      description: Searches for the toll free numbers which are available for purchase in the CallFire catalog
      operationId: findNumbersTollfree
      parameters:
        - description: "Filter toll free numbers by prefix, pattern must be 3 char long and should end with '*'. Examples: 8**, 85*, 87* (but 855 will fail because pattern must end with '*')."
          in: query
          name: pattern
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find tollfree numbers
      tags:
        - numbers
      x-sample-csharp-url: /csharp/numbers/findNumbersTollfree.cs
      x-sample-curl-request-url: /curl/numbers/findNumbersTollfree.sh
      x-sample-curl-response-url: /curl/numbers/findNumbersTollfree.json
      x-sample-description-url: /description/numbers/findNumbersTollfree.md
      x-sample-go-url: /go/numbers/findNumbersTollfree.go
      x-sample-java-url: /java/numbers/findNumbersTollfree.java
      x-sample-js-url: /js/numbers/findNumbersTollfree.js
      x-sample-php-url: /php/numbers/findNumbersTollfree.php
      x-sample-python-url: /python/numbers/findNumbersTollfree.py
  /orders:
    get:
      description: Searches for account orders
      operationId: findOrders
      parameters:
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 20
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: "Filter by order status, accepts multiple values in comma separated string, available values: [PROCESSING, FINISHED, PAYMENT_ERROR, VOID, WAIT_FOR_PAYMENT, PARTIALLY_ADJUSTED, ADJUSTED]"
          explode: true
          in: query
          name: status
          required: false
          schema:
            items:
              type: string
            type: array
        - description: "Start of the find time interval, formatted in unix time milliseconds. Example: 1473781817000"
          in: query
          name: intervalBegin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of the find time interval, formatted in unix time milliseconds. Example: 1473781817000"
          in: query
          name: intervalEnd
          required: false
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PageNumberOrder"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find orders
      tags:
        - orders
      x-sample-csharp-url: /csharp/orders/findOrders.cs
      x-sample-curl-request-url: /curl/orders/findOrders.sh
      x-sample-curl-response-url: /curl/orders/findOrders.json
      x-sample-description-url: /description/orders/findOrders.md
      x-sample-go-url: /go/orders/findOrders.go
      x-sample-java-url: /java/orders/findOrders.java
      x-sample-js-url: /js/orders/findOrders.js
      x-sample-php-url: /php/orders/findOrders.php
      x-sample-python-url: /python/orders/findOrders.py
  /orders/keywords:
    post:
      description: Purchase keywords. Send a list of available keywords into this API to purchase them using CallFire credits. Make sure the account has enough credits before trying to purchase the keywords. Keyword should only consist of uppercase and lowercase letters and numbers. Number of characters must be greater than 2, but less than 65.
      operationId: orderKeywords
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/KeywordPurchaseRequest"
        description: Request object which contains a list of keywords to buy
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Purchase keywords
      tags:
        - orders
      x-sample-csharp-url: /csharp/orders/orderKeywords.cs
      x-sample-curl-request-url: /curl/orders/orderKeywords.sh
      x-sample-curl-response-url: /curl/orders/orderKeywords.json
      x-sample-description-url: /description/orders/orderKeywords.md
      x-sample-go-url: /go/orders/orderKeywords.go
      x-sample-java-url: /java/orders/orderKeywords.java
      x-sample-js-url: /js/orders/orderKeywords.js
      x-sample-php-url: /php/orders/orderKeywords.php
      x-sample-python-url: /python/orders/orderKeywords.py
  /orders/numbers:
    post:
      description: Purchase numbers. There are many ways to purchase a number. Set either 'tollFreeCount' or 'localCount' along with some querying fields to purchase numbers by bulk query. Set the list of numbers to purchase by list. Available numbers will be purchased using CallFire credits owned by the user. Make sure the account has enough credits before trying to purchase
      operationId: orderNumbers
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NumberPurchaseRequest"
        description: "Request object contains a list of numbers to buy, you can filter the numbers by their region information: city, state, zipcode, etc"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Purchase numbers
      tags:
        - orders
      x-sample-csharp-url: /csharp/orders/orderNumbers.cs
      x-sample-curl-request-url: /curl/orders/orderNumbers.sh
      x-sample-curl-response-url: /curl/orders/orderNumbers.json
      x-sample-description-url: /description/orders/orderNumbers.md
      x-sample-go-url: /go/orders/orderNumbers.go
      x-sample-java-url: /java/orders/orderNumbers.java
      x-sample-js-url: /js/orders/orderNumbers.js
      x-sample-php-url: /php/orders/orderNumbers.php
      x-sample-python-url: /python/orders/orderNumbers.py
  "/orders/{id}":
    get:
      description: Returns a single NumberOrder instance for a given order id. Order contains information about purchased keywords, local, toll-free numbers
      operationId: getOrder
      parameters:
        - description: An id of an order
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NumberOrder"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific order
      tags:
        - orders
      x-sample-csharp-url: /csharp/orders/getOrder.cs
      x-sample-curl-request-url: /curl/orders/getOrder.sh
      x-sample-curl-response-url: /curl/orders/getOrder.json
      x-sample-description-url: /description/orders/getOrder.md
      x-sample-go-url: /go/orders/getOrder.go
      x-sample-java-url: /java/orders/getOrder.java
      x-sample-js-url: /js/orders/getOrder.js
      x-sample-php-url: /php/orders/getOrder.php
      x-sample-python-url: /python/orders/getOrder.py
  /reports/delivery:
    get:
      description: Get delivery reports
      operationId: getDeliveryReports
      parameters:
        - description: "~"
          in: query
          name: startDate
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: endDate
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: "~"
          in: query
          name: campaignId
          required: false
          schema:
            format: int64
            type: integer
        - description: "~"
          in: query
          name: fromNumber
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: toNumber
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: deliveryCategory
          required: false
          schema:
            enum:
              - NO_DATA
              - OPTED_OUT
              - BOUNCED
              - NO_CREDITS
              - DELIVERED
            type: string
        - description: "~"
          in: query
          name: deliveryState
          required: false
          schema:
            enum:
              - DELIVERED
              - UNSENT_OPTED_OUT_GLOBAL
              - UNSENT_OPTED_OUT_LOCAL
              - UNSENT_NO_CREDITS
              - GATEWAY_REJECTED
              - CARRIER_REJECTED
              - NOT_DELIVERED
              - UNSENT_INVALID_NUMBER
              - UNSENT_BAD_DATA
              - UNSENT_FORCE_STOPPED
              - UNSENT_PERIOD_LIMIT
              - UNSENT_INTERNATIONAL
              - UNSENT_INVALID_TIMEZONE_OR_DNC
              - UNSENT_ALREADY_SCRUBBED
              - UNSENT_SYSTEM_ERROR
              - UNSENT_NO_WIRELESS_CARRIER
              - UNSENT_MESSAGE_TOO_LONG
              - UNSENT_MESSAGE_BLOCKED
              - UNSENT_QUEUE_LIMIT_REACHED
              - UNSENT_TOKEN_LIMIT_REACHED
              - UNSENT_TIME_LIMIT_REACHED
              - UNSENT_SCHEDULER_CAPACITY_EXCEEDED
              - SPAM_DETECTED
              - UNSENT_NO_GATEWAY
              - UNSENT_DAILY_LIMIT_REACHED
              - ORIGINATED
              - SUBMITTED
              - FORWARDED
              - NOT_GIVEN
              - UNKNOWN
              - RETRY_MMS_AS_SMS
              - QUEUED
              - QUEUED_TRANSCODE
              - ORIGINAL
              - DUPE
              - TRUNCATED
              - REQUEUED_RATE_LIMITED
              - BUFFERED
              - RATE_LIMIT_EXCEEDED
              - SERVICE_UNAVAILABLE
              - SEND_MMS_AS_SMS
              - REQUEUED_RECOVERABLE_ERROR
              - SEND_WITH_ADDITIONAL_SPID
              - UNSENT_FREE_TRIAL
            type: string
        - description: "~"
          in: query
          name: carrier
          required: false
          schema:
            type: string
        - description: "~"
          in: query
          name: messageText
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PageDeliveryReport"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get delivery reports by ad hoc criteria
      tags:
        - reports
      x-sample-csharp-url: /csharp/reports/getDeliveryReports.cs
      x-sample-curl-request-url: /curl/reports/getDeliveryReports.sh
      x-sample-curl-response-url: /curl/reports/getDeliveryReports.json
      x-sample-description-url: /description/reports/getDeliveryReports.md
      x-sample-go-url: /go/reports/getDeliveryReports.go
      x-sample-java-url: /java/reports/getDeliveryReports.java
      x-sample-js-url: /js/reports/getDeliveryReports.js
      x-sample-php-url: /php/reports/getDeliveryReports.php
      x-sample-python-url: /python/reports/getDeliveryReports.py
  /texts:
    get:
      description: Searches for texts sent or received by user. Use "campaignId=0" parameter to query for all texts sent through the POST /texts API. See [call states and results](https://developers.callfire.com/results-responses-errors.html)
      operationId: findTexts
      parameters:
        - description: List of Text ids to search for, if ids specified other query params ignored
          explode: true
          in: query
          name: id
          required: false
          schema:
            items:
              format: int64
              type: integer
            type: array
        - description: An id of a campaign, queries for texts inside a particular campaign. Specify null to list texts of all campaigns or 0 for a default campaign
          in: query
          name: campaignId
          required: false
          schema:
            format: int64
            type: integer
        - description: An Id of a contact batch, queries for texts which are used in the particular contact batch
          in: query
          name: batchId
          required: false
          schema:
            format: int64
            type: integer
        - description: "A phone number in E.164 format (11-digit). Example: 12132000384, 67076"
          in: query
          name: fromNumber
          required: false
          schema:
            type: string
        - description: "A phone number in E.164 format (11-digit). Example: 12132000384, 67076"
          in: query
          name: toNumber
          required: false
          schema:
            type: string
        - description: A label of a text message
          in: query
          name: label
          required: false
          schema:
            type: string
        - description: "Expected text statuses in comma separated string, available values: READY, SELECTED, CALLBACK, FINISHED, DISABLED, DNC, DUP, INVALID, TIMEOUT, PERIOD_LIMIT. See [call states and results](https://developers.callfire.com/results-responses-errors.html)"
          in: query
          name: states
          required: false
          schema:
            type: string
        - description: "Expected text results in comma separated string, available values: SENT, RECEIVED, DNT, TOO_BIG, INTERNAL_ERROR, CARRIER_ERROR, CARRIER_TEMP_ERROR, UNDIALED. See [call states and results](https://developers.callfire.com/results-responses-errors.html)"
          in: query
          name: results
          required: false
          schema:
            type: string
        - description: Specify true for inbound or false for outbounds. Do not specify this parameter if you need to get both inbound and outbound texts listed in response
          in: query
          name: inbound
          required: false
          schema:
            type: boolean
        - description: "Start of the find time interval, formatted in unix time milliseconds. Example: 1473781817000"
          in: query
          name: intervalBegin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of the find time interval, formatted in unix time milliseconds. Example: 1473781817000"
          in: query
          name: intervalEnd
          required: false
          schema:
            format: int64
            type: integer
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 10
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find texts
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/findTexts.cs
      x-sample-curl-request-url: /curl/texts/findTexts.sh
      x-sample-curl-response-url: /curl/texts/findTexts.json
      x-sample-description-url: /description/texts/findTexts.md
      x-sample-go-url: /go/texts/findTexts.go
      x-sample-java-url: /java/texts/findTexts.java
      x-sample-js-url: /js/texts/findTexts.js
      x-sample-php-url: /php/texts/findTexts.php
      x-sample-python-url: /python/texts/findTexts.py
    post:
      description: "Use the /texts API to send individual texts quickly. By default all texts are going out from CallFire's dedicated short code. Example: 67076, 818818 etc"
      operationId: sendTexts
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: Specifies a campaignId to send texts through a previously created campaign
          in: query
          name: campaignId
          required: false
          schema:
            format: int64
            type: integer
        - description: Text message can be overridden by TextRecipient.message field. If multiple recipients have the same text message to a different recipients it is better to specify a single default message and do not duplicate it in each recipient.
          in: query
          name: defaultMessage
          required: false
          schema:
            type: string
        - description: Turns on strict validation for recipients
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/TextRecipient"
              type: array
        description: List of TextRecipient objects. By recipient we mean either phone number or contact with user-defined attributes added to action. Text messaging supports media files, provide a list of ids of media files for recipient to attach media to the message.
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Send texts
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/sendTexts.cs
      x-sample-curl-request-url: /curl/texts/sendTexts.sh
      x-sample-curl-response-url: /curl/texts/sendTexts.json
      x-sample-description-url: /description/texts/sendTexts.md
      x-sample-go-url: /go/texts/sendTexts.go
      x-sample-java-url: /java/texts/sendTexts.java
      x-sample-js-url: /js/texts/sendTexts.js
      x-sample-php-url: /php/texts/sendTexts.php
      x-sample-python-url: /python/texts/sendTexts.py
  /texts/auto-replys:
    get:
      description: Find all text autoreplies created by user. Returns a paged list of TextAutoReply
      operationId: findTextAutoReplys
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: "Phone number in E.164 format (11-digit) which contains a TextAutoReply. Example: 12132000384. If number is empty then operator returns all autoreplies configured for the user's account"
          in: query
          name: number
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextAutoReplyPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find auto replies
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/findTextAutoReplys.cs
      x-sample-curl-request-url: /curl/texts/findTextAutoReplys.sh
      x-sample-curl-response-url: /curl/texts/findTextAutoReplys.json
      x-sample-description-url: /description/texts/findTextAutoReplys.md
      x-sample-go-url: /go/texts/findTextAutoReplys.go
      x-sample-java-url: /java/texts/findTextAutoReplys.java
      x-sample-js-url: /js/texts/findTextAutoReplys.js
      x-sample-php-url: /php/texts/findTextAutoReplys.php
      x-sample-python-url: /python/texts/findTextAutoReplys.py
    post:
      description: CallFire gives you possibility to set up auto reply messages for your numbers and keywords. You can set a general auto reply for anyone who texts your number, keyword, and/or include a text to match, so that the auto reply would be sent only to those who text the matched text
      operationId: createTextAutoReply
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TextAutoReply"
        description: TextAutoReply object, keyword or number should be specified with response message and text to match if needed
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create an auto reply
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/createTextAutoReply.cs
      x-sample-curl-request-url: /curl/texts/createTextAutoReply.sh
      x-sample-curl-response-url: /curl/texts/createTextAutoReply.json
      x-sample-description-url: /description/texts/createTextAutoReply.md
      x-sample-go-url: /go/texts/createTextAutoReply.go
      x-sample-java-url: /java/texts/createTextAutoReply.java
      x-sample-js-url: /js/texts/createTextAutoReply.js
      x-sample-php-url: /php/texts/createTextAutoReply.php
      x-sample-python-url: /python/texts/createTextAutoReply.py
  "/texts/auto-replys/{id}":
    delete:
      description: Deletes a text auto reply and removes the configuration. Can not delete a TextAutoReply which is currently active for a campaign
      operationId: deleteTextAutoReply
      parameters:
        - description: An id of a text auto reply
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete an auto reply
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/deleteTextAutoReply.cs
      x-sample-curl-request-url: /curl/texts/deleteTextAutoReply.sh
      x-sample-curl-response-url: /curl/texts/deleteTextAutoReply.json
      x-sample-description-url: /description/texts/deleteTextAutoReply.md
      x-sample-go-url: /go/texts/deleteTextAutoReply.go
      x-sample-java-url: /java/texts/deleteTextAutoReply.java
      x-sample-js-url: /js/texts/deleteTextAutoReply.js
      x-sample-php-url: /php/texts/deleteTextAutoReply.php
      x-sample-python-url: /python/texts/deleteTextAutoReply.py
    get:
      description: Returns a single TextAutoReply instance for a given text auto reply id
      operationId: getTextAutoReply
      parameters:
        - description: An id of a text auto reply
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextAutoReply"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific auto reply
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/getTextAutoReply.cs
      x-sample-curl-request-url: /curl/texts/getTextAutoReply.sh
      x-sample-curl-response-url: /curl/texts/getTextAutoReply.json
      x-sample-description-url: /description/texts/getTextAutoReply.md
      x-sample-go-url: /go/texts/getTextAutoReply.go
      x-sample-java-url: /java/texts/getTextAutoReply.java
      x-sample-js-url: /js/texts/getTextAutoReply.js
      x-sample-php-url: /php/texts/getTextAutoReply.php
      x-sample-python-url: /python/texts/getTextAutoReply.py
  /texts/broadcasts:
    get:
      description: Searches for all text broadcasts created by user. Can query on label, name, and the current running status of the campaign. Returns a paged list of text broadcasts
      operationId: findTextBroadcasts
      parameters:
        - description: A name of text broadcast
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: A label of a text broadcast
          in: query
          name: label
          required: false
          schema:
            type: string
        - description: Returns broadcasts only in running state.
          in: query
          name: running
          required: false
          schema:
            type: boolean
        - description: Specify whether the campaigns should be scheduled or not
          in: query
          name: scheduled
          required: false
          schema:
            type: boolean
        - description: "Start of the find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: intervalBegin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of the find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: intervalEnd
          required: false
          schema:
            format: int64
            type: integer
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 10
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextBroadcastPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find text broadcasts
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/findTextBroadcasts.cs
      x-sample-curl-request-url: /curl/texts/findTextBroadcasts.sh
      x-sample-curl-response-url: /curl/texts/findTextBroadcasts.json
      x-sample-description-url: /description/texts/findTextBroadcasts.md
      x-sample-go-url: /go/texts/findTextBroadcasts.go
      x-sample-java-url: /java/texts/findTextBroadcasts.java
      x-sample-js-url: /js/texts/findTextBroadcasts.js
      x-sample-php-url: /php/texts/findTextBroadcasts.php
      x-sample-python-url: /python/texts/findTextBroadcasts.py
    post:
      description: Creates a text broadcast campaign using the Text Broadcast API. Send a TextBroadcast object in the message body to detail a text broadcast campaign. A campaign can be created without contacts and with bare minimum configuration, but contacts have to be added further on to use the campaign. It supports scheduling, retry logic, pattern-based messages.
      operationId: createTextBroadcast
      parameters:
        - description: If true then starts the campaign immediately (not required).
          in: query
          name: start
          required: false
          schema:
            type: boolean
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/TextBroadcast"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create a text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/createTextBroadcast.cs
      x-sample-curl-request-url: /curl/texts/createTextBroadcast.sh
      x-sample-curl-response-url: /curl/texts/createTextBroadcast.json
      x-sample-description-url: /description/texts/createTextBroadcast.md
      x-sample-go-url: /go/texts/createTextBroadcast.go
      x-sample-java-url: /java/texts/createTextBroadcast.java
      x-sample-js-url: /js/texts/createTextBroadcast.js
      x-sample-php-url: /php/texts/createTextBroadcast.php
      x-sample-python-url: /python/texts/createTextBroadcast.py
  "/texts/broadcasts/{id}":
    get:
      description: Returns a single TextBroadcast instance for a given text broadcast id
      operationId: getTextBroadcast
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextBroadcast"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/getTextBroadcast.cs
      x-sample-curl-request-url: /curl/texts/getTextBroadcast.sh
      x-sample-curl-response-url: /curl/texts/getTextBroadcast.json
      x-sample-description-url: /description/texts/getTextBroadcast.md
      x-sample-go-url: /go/texts/getTextBroadcast.go
      x-sample-java-url: /java/texts/getTextBroadcast.java
      x-sample-js-url: /js/texts/getTextBroadcast.js
      x-sample-php-url: /php/texts/getTextBroadcast.php
      x-sample-python-url: /python/texts/getTextBroadcast.py
    put:
      description: Allows modifying the configuration of existing text broadcast campaign. See TextBroadcast for more information on what can/can't be updated on this API
      operationId: updateTextBroadcast
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/TextBroadcast"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextBroadcastCreateResponse"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/updateTextBroadcast.cs
      x-sample-curl-request-url: /curl/texts/updateTextBroadcast.sh
      x-sample-curl-response-url: /curl/texts/updateTextBroadcast.json
      x-sample-description-url: /description/texts/updateTextBroadcast.md
      x-sample-go-url: /go/texts/updateTextBroadcast.go
      x-sample-java-url: /java/texts/updateTextBroadcast.java
      x-sample-js-url: /js/texts/updateTextBroadcast.js
      x-sample-php-url: /php/texts/updateTextBroadcast.php
      x-sample-python-url: /python/texts/updateTextBroadcast.py
  "/texts/broadcasts/{id}/archive":
    post:
      description: Archives a text broadcast (and hides it in the search results)
      operationId: archiveTextBroadcast
      parameters:
        - description: An id of a text broadcast to archive
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Archive text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/archiveTextBroadcast.cs
      x-sample-curl-request-url: /curl/texts/archiveTextBroadcast.sh
      x-sample-curl-response-url: /curl/texts/archiveTextBroadcast.json
      x-sample-description-url: /description/texts/archiveTextBroadcast.md
      x-sample-go-url: /go/texts/archiveTextBroadcast.go
      x-sample-java-url: /java/texts/archiveTextBroadcast.java
      x-sample-js-url: /js/texts/archiveTextBroadcast.js
      x-sample-php-url: /php/texts/archiveTextBroadcast.php
      x-sample-python-url: /python/texts/archiveTextBroadcast.py
  "/texts/broadcasts/{id}/batches":
    get:
      description: This endpoint will enable the user to page through all of the batches for a particular text broadcast campaign
      operationId: getTextBroadcastBatches
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BatchPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find batches in a text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/getTextBroadcastBatches.cs
      x-sample-curl-request-url: /curl/texts/getTextBroadcastBatches.sh
      x-sample-curl-response-url: /curl/texts/getTextBroadcastBatches.json
      x-sample-description-url: /description/texts/getTextBroadcastBatches.md
      x-sample-go-url: /go/texts/getTextBroadcastBatches.go
      x-sample-java-url: /java/texts/getTextBroadcastBatches.java
      x-sample-js-url: /js/texts/getTextBroadcastBatches.js
      x-sample-php-url: /php/texts/getTextBroadcastBatches.php
      x-sample-python-url: /python/texts/getTextBroadcastBatches.py
    post:
      description: Allows adding an extra batches to an already created text broadcast campaign. The batches which being  added pass the CallFire validation process (unlike in the recipients version of this API). That is why using of a scrubDuplicates flag remove duplicates from your batch. Batches may be added as a contact list id, a list of contact ids, or a list of numbers
      operationId: addTextBroadcastBatch
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/BatchRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add batches to a text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/addTextBroadcastBatch.cs
      x-sample-curl-request-url: /curl/texts/addTextBroadcastBatch.sh
      x-sample-curl-response-url: /curl/texts/addTextBroadcastBatch.json
      x-sample-description-url: /description/texts/addTextBroadcastBatch.md
      x-sample-go-url: /go/texts/addTextBroadcastBatch.go
      x-sample-java-url: /java/texts/addTextBroadcastBatch.java
      x-sample-js-url: /js/texts/addTextBroadcastBatch.js
      x-sample-php-url: /php/texts/addTextBroadcastBatch.php
      x-sample-python-url: /python/texts/addTextBroadcastBatch.py
  "/texts/broadcasts/{id}/recipients":
    post:
      description: Use this API to add recipients to a text broadcast which is already created. Post a list of Recipient objects to be immediately added to the text broadcast campaign. These contacts will not go through validation process, and will be acted upon as they are added. Recipients may be added as a list of contact ids, or list of numbers
      operationId: addTextBroadcastRecipients
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: Turns on strict validation for recipients. System will reply with BAD_REQUEST(400) if strictValidation = true and one of numbers didn't pass validation
          in: query
          name: strictValidation
          required: false
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/TextRecipient"
              type: array
        description: A list of the TextRecipient objects
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextList"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Add recipients to a text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/addTextBroadcastRecipients.cs
      x-sample-curl-request-url: /curl/texts/addTextBroadcastRecipients.sh
      x-sample-curl-response-url: /curl/texts/addTextBroadcastRecipients.json
      x-sample-description-url: /description/texts/addTextBroadcastRecipients.md
      x-sample-go-url: /go/texts/addTextBroadcastRecipients.go
      x-sample-java-url: /java/texts/addTextBroadcastRecipients.java
      x-sample-js-url: /js/texts/addTextBroadcastRecipients.js
      x-sample-php-url: /php/texts/addTextBroadcastRecipients.php
      x-sample-python-url: /python/texts/addTextBroadcastRecipients.py
  "/texts/broadcasts/{id}/start":
    post:
      description: Starts a text broadcast
      operationId: startTextBroadcast
      parameters:
        - description: An id of a text broadcast to start
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Start text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/startTextBroadcast.cs
      x-sample-curl-request-url: /curl/texts/startTextBroadcast.sh
      x-sample-curl-response-url: /curl/texts/startTextBroadcast.json
      x-sample-description-url: /description/texts/startTextBroadcast.md
      x-sample-go-url: /go/texts/startTextBroadcast.go
      x-sample-java-url: /java/texts/startTextBroadcast.java
      x-sample-js-url: /js/texts/startTextBroadcast.js
      x-sample-php-url: /php/texts/startTextBroadcast.php
      x-sample-python-url: /python/texts/startTextBroadcast.py
  "/texts/broadcasts/{id}/stats":
    get:
      description: "Returns the broadcast statistics. Example: total number of the sent/received actions, total cost, number of remaining outbound actions, error count, etc"
      operationId: getTextBroadcastStats
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: "Start of a search find time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: begin
          required: false
          schema:
            format: int64
            type: integer
        - description: "End of a search time interval, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          in: query
          name: end
          required: false
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextBroadcastStatsDto"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Get statistics on text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/getTextBroadcastStats.cs
      x-sample-curl-request-url: /curl/texts/getTextBroadcastStats.sh
      x-sample-curl-response-url: /curl/texts/getTextBroadcastStats.json
      x-sample-description-url: /description/texts/getTextBroadcastStats.md
      x-sample-go-url: /go/texts/getTextBroadcastStats.go
      x-sample-java-url: /java/texts/getTextBroadcastStats.java
      x-sample-js-url: /js/texts/getTextBroadcastStats.js
      x-sample-php-url: /php/texts/getTextBroadcastStats.php
      x-sample-python-url: /python/texts/getTextBroadcastStats.py
  "/texts/broadcasts/{id}/stop":
    post:
      description: Stops a text broadcast
      operationId: stopTextBroadcast
      parameters:
        - description: An Id of a text broadcast. To stop the broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Stop text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/stopTextBroadcast.cs
      x-sample-curl-request-url: /curl/texts/stopTextBroadcast.sh
      x-sample-curl-response-url: /curl/texts/stopTextBroadcast.json
      x-sample-description-url: /description/texts/stopTextBroadcast.md
      x-sample-go-url: /go/texts/stopTextBroadcast.go
      x-sample-java-url: /java/texts/stopTextBroadcast.java
      x-sample-js-url: /js/texts/stopTextBroadcast.js
      x-sample-php-url: /php/texts/stopTextBroadcast.php
      x-sample-python-url: /python/texts/stopTextBroadcast.py
  "/texts/broadcasts/{id}/texts":
    get:
      description: This endpoint will enable the user to page through all of the texts for a particular text broadcast campaign
      operationId: getTextBroadcastTexts
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "~"
          in: query
          name: batchId
          required: false
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TextPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find texts in a text broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/getTextBroadcastTexts.cs
      x-sample-curl-request-url: /curl/texts/getTextBroadcastTexts.sh
      x-sample-curl-response-url: /curl/texts/getTextBroadcastTexts.json
      x-sample-description-url: /description/texts/getTextBroadcastTexts.md
      x-sample-go-url: /go/texts/getTextBroadcastTexts.go
      x-sample-java-url: /java/texts/getTextBroadcastTexts.java
      x-sample-js-url: /js/texts/getTextBroadcastTexts.js
      x-sample-php-url: /php/texts/getTextBroadcastTexts.php
      x-sample-python-url: /python/texts/getTextBroadcastTexts.py
  "/texts/broadcasts/{id}/toggleRecipientsStatus":
    post:
      description: This operation lets the user to disable/enable undialed contacts in created broadcast
      operationId: toggleTextBroadcastRecipientsStatus
      parameters:
        - description: An id of a text broadcast
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Flag which indicate what to do with texts (true will enable texts in DISABLED status and vice versa)
          in: query
          name: enable
          required: false
          schema:
            default: false
            type: boolean
      requestBody:
        $ref: "#/components/requestBodies/RecipientArray"
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Disable/enable undialed recipients in broadcast
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/toggleTextBroadcastRecipientsStatus.cs
      x-sample-curl-request-url: /curl/texts/toggleTextBroadcastRecipientsStatus.sh
      x-sample-curl-response-url: /curl/texts/toggleTextBroadcastRecipientsStatus.json
      x-sample-description-url: /description/texts/toggleTextBroadcastRecipientsStatus.md
      x-sample-go-url: /go/texts/toggleTextBroadcastRecipientsStatus.go
      x-sample-java-url: /java/texts/toggleTextBroadcastRecipientsStatus.java
      x-sample-js-url: /js/texts/toggleTextBroadcastRecipientsStatus.js
      x-sample-php-url: /php/texts/toggleTextBroadcastRecipientsStatus.php
      x-sample-python-url: /python/texts/toggleTextBroadcastRecipientsStatus.py
  "/texts/{id}":
    get:
      description: Returns a single Text instance for a given text id
      operationId: getText
      parameters:
        - description: An id of a text
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Text"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific text
      tags:
        - texts
      x-sample-csharp-url: /csharp/texts/getText.cs
      x-sample-curl-request-url: /curl/texts/getText.sh
      x-sample-curl-response-url: /curl/texts/getText.json
      x-sample-description-url: /description/texts/getText.md
      x-sample-go-url: /go/texts/getText.go
      x-sample-java-url: /java/texts/getText.java
      x-sample-js-url: /js/texts/getText.js
      x-sample-php-url: /php/texts/getText.php
      x-sample-python-url: /python/texts/getText.py
  /webhooks:
    get:
      description: Searches all webhooks available for a current user. Searches by name, resource, event, callback URL, or whether they are enabled. Returns a paged list of Webhooks
      operationId: findWebhooks
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
        - description: To set the maximum number of records to return in a paged list response. The default is 100
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: int32
            type: integer
        - description: Offset to the start of a given page. The default is 0. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: int32
            type: integer
        - description: A name of a webhook
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: "A name of a resource, available values: 'CccCampaign', 'CallBroadcast', 'TextBroadcast',  'OutboundCall', 'OutboundText', 'InboundCall', 'InboundText', 'ContactList'"
          in: query
          name: resource
          required: false
          schema:
            type: string
        - description: "A name of event, available values: 'started', 'stopped', 'finished'"
          in: query
          name: event
          required: false
          schema:
            type: string
        - description: A callback URL
          in: query
          name: callback
          required: false
          schema:
            type: string
        - description: Specifies whether webhook is enabled
          in: query
          name: enabled
          required: false
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebhookPage"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find webhooks
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/findWebhooks.cs
      x-sample-curl-request-url: /curl/webhooks/findWebhooks.sh
      x-sample-curl-response-url: /curl/webhooks/findWebhooks.json
      x-sample-description-url: /description/webhooks/findWebhooks.md
      x-sample-go-url: /go/webhooks/findWebhooks.go
      x-sample-java-url: /java/webhooks/findWebhooks.java
      x-sample-js-url: /js/webhooks/findWebhooks.js
      x-sample-php-url: /php/webhooks/findWebhooks.php
      x-sample-python-url: /python/webhooks/findWebhooks.py
    post:
      description: "Create a Webhook for notification in the CallFire system. Use the webhooks API to receive notifications of important CallFire events. Select the resource to listen to, and then choose the resource events to receive notifications on. When an event triggers, a POST will be made to the callback URL with a payload of notification information. Available resources and their events include 'CccCampaign': ['started', 'stopped', 'finished'], 'CallBroadcast': ['started', 'stopped', 'finished'], 'TextBroadcast': ['started', 'stopped', 'finished'], 'OutboundCall': ['finished'], 'InboundCall': ['finished'], 'OutboundText': ['finished'], 'InboundText': ['finished'], 'ContactList': ['validationFinished', 'validationFailed'], 'MonthlyRenewal': ['failed', 'finished'], 'LowBalance': ['failed', 'finished']. Webhooks support secret token which is used as signing key to HmacSHA1 hash of json payload which is returned in 'X-CallFire-Signature' header. This header can be used to verify callback POST is coming from CallFire. See [security guide](https://developers.callfire.com/security-guide.html)"
      operationId: createWebhook
      requestBody:
        $ref: "#/components/requestBodies/Webhook"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResourceId"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Create a webhook
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/createWebhook.cs
      x-sample-curl-request-url: /curl/webhooks/createWebhook.sh
      x-sample-curl-response-url: /curl/webhooks/createWebhook.json
      x-sample-description-url: /description/webhooks/createWebhook.md
      x-sample-go-url: /go/webhooks/createWebhook.go
      x-sample-java-url: /java/webhooks/createWebhook.java
      x-sample-js-url: /js/webhooks/createWebhook.js
      x-sample-php-url: /php/webhooks/createWebhook.php
      x-sample-python-url: /python/webhooks/createWebhook.py
  /webhooks/resources:
    get:
      description: "Searches for webhook resources. Available resources include 'CccCampaign': ['started', 'stopped', 'finished'], 'CallBroadcast': ['started', 'stopped', 'finished'], 'TextBroadcast': ['started', 'stopped', 'finished'], 'OutboundCall': ['finished'], 'InboundCall': ['finished'], 'OutboundText': ['finished'], 'InboundText': ['finished'], 'ContactList': ['validationFinished', 'validationFailed'], 'MonthlyRenewal': ['failed', 'finished'], 'LowBalance': ['failed', 'finished']"
      operationId: findWebhookResources
      parameters:
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ItemListWebhookResource"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find webhook resources
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/findWebhookResources.cs
      x-sample-curl-request-url: /curl/webhooks/findWebhookResources.sh
      x-sample-curl-response-url: /curl/webhooks/findWebhookResources.json
      x-sample-description-url: /description/webhooks/findWebhookResources.md
      x-sample-go-url: /go/webhooks/findWebhookResources.go
      x-sample-java-url: /java/webhooks/findWebhookResources.java
      x-sample-js-url: /js/webhooks/findWebhookResources.js
      x-sample-php-url: /php/webhooks/findWebhookResources.php
      x-sample-python-url: /python/webhooks/findWebhookResources.py
  "/webhooks/resources/{resource}":
    get:
      description: Returns information about supported events for a given webhook resource
      operationId: getWebhookResource
      parameters:
        - description: "A name of a webhook resource. Available resources include 'CccCampaign': ['started', 'stopped', 'finished'], 'CallBroadcast': ['started', 'stopped', 'finished'], 'TextBroadcast': ['started', 'stopped', 'finished'], 'OutboundCall': ['finished'], 'InboundCall': ['finished'], 'OutboundText': ['finished'], 'InboundText': ['finished'], 'ContactList': ['validationFinished', 'validationFailed'], 'MonthlyRenewal': ['failed', 'finished'], 'LowBalance': ['failed', 'finished']"
          in: path
          name: resource
          required: true
          schema:
            type: string
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/WebhookResource"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find specific webhook resource
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/getWebhookResource.cs
      x-sample-curl-request-url: /curl/webhooks/getWebhookResource.sh
      x-sample-curl-response-url: /curl/webhooks/getWebhookResource.json
      x-sample-description-url: /description/webhooks/getWebhookResource.md
      x-sample-go-url: /go/webhooks/getWebhookResource.go
      x-sample-java-url: /java/webhooks/getWebhookResource.java
      x-sample-js-url: /js/webhooks/getWebhookResource.js
      x-sample-php-url: /php/webhooks/getWebhookResource.php
      x-sample-python-url: /python/webhooks/getWebhookResource.py
  "/webhooks/{id}":
    delete:
      description: Deletes a webhook instance. Will be removed permanently
      operationId: deleteWebhook
      parameters:
        - description: An Id of a webhook
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Delete a webhook
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/deleteWebhook.cs
      x-sample-curl-request-url: /curl/webhooks/deleteWebhook.sh
      x-sample-curl-response-url: /curl/webhooks/deleteWebhook.json
      x-sample-description-url: /description/webhooks/deleteWebhook.md
      x-sample-go-url: /go/webhooks/deleteWebhook.go
      x-sample-java-url: /java/webhooks/deleteWebhook.java
      x-sample-js-url: /js/webhooks/deleteWebhook.js
      x-sample-php-url: /php/webhooks/deleteWebhook.php
      x-sample-python-url: /python/webhooks/deleteWebhook.py
    get:
      description: Returns a single Webhook instance for a given webhook id
      operationId: getWebhook
      parameters:
        - description: An id of a webhook
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: "Limit fields received in response. E.g. fields: id, name or fields items (id, name), see more at [partial response](https://developers.callfire.com/docs.html#partial-response) page."
          in: query
          name: fields
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Webhook"
          description: successful operation
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Find a specific webhook
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/getWebhook.cs
      x-sample-curl-request-url: /curl/webhooks/getWebhook.sh
      x-sample-curl-response-url: /curl/webhooks/getWebhook.json
      x-sample-description-url: /description/webhooks/getWebhook.md
      x-sample-go-url: /go/webhooks/getWebhook.go
      x-sample-java-url: /java/webhooks/getWebhook.java
      x-sample-js-url: /js/webhooks/getWebhook.js
      x-sample-php-url: /php/webhooks/getWebhook.php
      x-sample-python-url: /python/webhooks/getWebhook.py
    put:
      description: Updates the information in existing webhook
      operationId: updateWebhook
      parameters:
        - description: An id of a webhook
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        $ref: "#/components/requestBodies/Webhook"
      responses:
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Bad request
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Unauthorized
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Forbidden
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Not found
        "500":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorResponse"
          description: Internal Server Error
      security:
        - basicAuth: []
      summary: Update a webhook
      tags:
        - webhooks
      x-sample-csharp-url: /csharp/webhooks/updateWebhook.cs
      x-sample-curl-request-url: /curl/webhooks/updateWebhook.sh
      x-sample-curl-response-url: /curl/webhooks/updateWebhook.json
      x-sample-description-url: /description/webhooks/updateWebhook.md
      x-sample-go-url: /go/webhooks/updateWebhook.go
      x-sample-java-url: /java/webhooks/updateWebhook.java
      x-sample-js-url: /js/webhooks/updateWebhook.js
      x-sample-php-url: /php/webhooks/updateWebhook.php
      x-sample-python-url: /python/webhooks/updateWebhook.py
components:
  requestBodies:
    BatchRequest:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/BatchRequest"
      description: A request object
    CallBroadcast:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CallBroadcast"
      description: A CallBroadcast object
    RecipientArray:
      content:
        application/json:
          schema:
            items:
              $ref: "#/components/schemas/Recipient"
            type: array
      description: List of Recipient objects. By recipient we mean either phone number or contact id.
    TextBroadcast:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/TextBroadcast"
      description: A TextBroadcast object
    Webhook:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Webhook"
      description: A webhook object
  schemas:
    A2pUpgradeLeaseDto:
      description: "~"
      properties:
        blocked:
          description: "~"
          format: date-time
          type: string
        canceled:
          description: "~"
          type: boolean
        createdAt:
          description: "~"
          format: date-time
          type: string
        deleted:
          description: "~"
          type: boolean
        id:
          description: "~"
          format: int64
          type: integer
        invoiceId:
          description: "~"
          format: int64
          type: integer
        nextBilling:
          description: "~"
          format: date-time
          type: string
        packaged:
          description: "~"
          type: boolean
        prepaidDiscountId:
          description: "~"
          format: int64
          type: integer
        price:
          description: "~"
          type: number
        type:
          description: "~"
          enum:
            - PLAN
            - EXTRA
          type: string
        updatedAt:
          description: "~"
          format: date-time
          type: string
      type: object
    A2pUpgradeLeasePage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/A2pUpgradeLeaseDto"
              type: array
          type: object
      description: "~"
    Account:
      description: Object represents user account in Callfire system
      properties:
        active:
          description: "~"
          type: boolean
        address:
          description: "~"
          type: string
        age:
          $ref: "#/components/schemas/Duration"
        agencyManagedAccounts:
          description: "~"
          type: boolean
        allowedToCreateCampaign:
          description: "~"
          type: boolean
        apiCallLimit:
          description: "~"
          format: int32
          type: integer
        archived:
          description: "~"
          type: boolean
        autoAddDoNotContact:
          description: "~"
          type: boolean
        brand:
          description: "~"
          enum:
            - EZTEXTING
            - CLUBTEXTING
            - GROUPTEXTING
            - TELLMYCELL
            - EZ
            - CALLFIRE
            - TESLA
          type: string
        canceled:
          description: "~"
          type: boolean
        canceledOrArchived:
          description: "~"
          type: boolean
        city:
          description: "~"
          type: string
        companyName:
          description: "~"
          type: string
        country:
          description: "~"
          enum:
            - US
            - CA
          type: string
        countryOrDefault:
          description: "~"
          enum:
            - US
            - CA
          type: string
        created:
          description: "~"
          format: date-time
          type: string
        dateTimeZone:
          $ref: "#/components/schemas/DateTimeZone"
        defaultNotificationTtlMillis:
          description: "~"
          format: int64
          type: integer
        defaultNumberId:
          description: "~"
          format: int64
          type: integer
        ein:
          description: "~"
          type: string
        entityType:
          description: "~"
          enum:
            - SP
            - COMPANY
          type: string
        ez:
          description: "~"
          type: boolean
        failedVerificationAttempts:
          description: "~"
          format: int32
          type: integer
        fromNumberPool:
          description: "~"
          type: string
        id:
          description: An id of an account
          format: int64
          type: integer
        industry:
          description: "~"
          enum:
            - UNKNOWN
            - ADVERTISING
            - AUTOMOTIVE
            - COLLECTIONS
            - CONSULTING
            - DECLINE
            - EDUCATION
            - EMERGENCY
            - ENTERTAINMENT
            - FINANCE
            - HOSPITALITY
            - HEALTHFITNESS
            - HEALTHCARE
            - INSURANCE
            - LEAD
            - OTHER
            - POLITICAL
            - REAL_ESTATE
            - RETAIL
            - SEARCH_MARKETING
            - TELECOM
          type: string
        industryName:
          description: "~"
          type: string
        key:
          description: "~"
          type: string
        localTimeZoneRestriction:
          $ref: "#/components/schemas/LocalTimeZoneRestriction"
        locale:
          $ref: "#/components/schemas/Locale"
        maxAgents:
          description: "~"
          format: int32
          type: integer
        messageClass:
          description: "~"
          type: string
        messageFlows:
          description: "~"
          items:
            type: string
          type: array
          uniqueItems: true
        name:
          description: Name associated with an account
          type: string
        outboundThreshold:
          description: "~"
          format: int32
          type: integer
        receiverPeriodCall:
          description: "~"
          format: int32
          type: integer
        receiverPeriodEnabled:
          description: "~"
          type: boolean
        receiverPeriodGlobal:
          description: "~"
          format: int32
          type: integer
        receiverPeriodText:
          description: "~"
          format: int32
          type: integer
        receiverPeriodTimeUnit:
          description: "~"
          enum:
            - NANOSECONDS
            - MICROSECONDS
            - MILLISECONDS
            - SECONDS
            - MINUTES
            - HOURS
            - DAYS
          type: string
        retainOnlyMetadata:
          description: "~"
          type: boolean
        retainOnlyMetadataLastDetailRecordId:
          description: "~"
          format: int64
          type: integer
        retainOnlyMetadataLastModified:
          description: "~"
          format: date-time
          type: string
        scrub:
          description: "~"
          type: boolean
        sharedShortCodeAllowed:
          description: "~"
          type: boolean
        sharedShortCodeId:
          description: "~"
          format: int64
          type: integer
        soaAccount:
          $ref: "#/components/schemas/Account"
        startCapable:
          description: "~"
          type: boolean
        state:
          description: "~"
          type: string
        status:
          description: "~"
          enum:
            - ACTIVE
            - PENDING_CANCELLED
            - CANCELLED
            - ARCHIVING
            - ARCHIVED
          type: string
        textOutboundThreshold:
          description: "~"
          format: int32
          type: integer
        timeZone:
          $ref: "#/components/schemas/TimeZone"
        timeZoneId:
          $ref: "#/components/schemas/ZoneId"
        trustLevel:
          description: "~"
          enum:
            - LOCKED
            - SUSPENDED
            - PROBATION
            - NORMAL
            - TRUSTED
          type: string
        tsrAgreement:
          description: "~"
          format: date-time
          type: string
        tsrInitials:
          description: "~"
          type: string
        uiContext:
          description: "~"
          type: string
        universal:
          description: "~"
          type: boolean
        website:
          description: "~"
          type: string
        zipcode:
          description: "~"
          type: string
      type: object
    AddContactListContactsRequest:
      description: Request object for adding new contacts to an existing contact list
      properties:
        contactIds:
          description: A list of ids of existing contacts in CallFire system
          items:
            format: int64
            type: integer
          type: array
        contactNumbers:
          description: "A phone number in E.164 format (11-digit). Examples: 12132000384"
          items:
            type: string
          type: array
        contactNumbersField:
          description: A type of phone number (homePhone, workPhone, mobilePhone). This parameter works together with contactNumbers and specifies which types of numbers are included to a list
          type: string
        contacts:
          description: A list of new contact objects which need to be added
          items:
            $ref: "#/components/schemas/Contact"
          type: array
        useCustomFields:
          description: A flag to indicate how to define property names for contacts. If true, uses the field and property names exactly as defined. If false will assign custom properties and fields to A, B, C, etc
          type: boolean
      type: object
    AddDoNotContactRequest:
      description: Request object for adding new Do-Not-Contact records to account.
      properties:
        call:
          description: "If set to true add all given numbers to Do-Not-Call list. Default value: true"
          type: boolean
        inboundCall:
          description: "~"
          type: boolean
        inboundText:
          description: "~"
          type: boolean
        numbers:
          description: "A list of phone numbers in E.164 format (11-digit), example: 12132000384, 14142777322"
          items:
            type: string
          type: array
        source:
          description: "A list of new contact objects which need to be added. Default value: Api V2"
          type: string
        text:
          description: "If set to true add all given numbers to Do-Not-Text list. Default value: true"
          type: boolean
      type: object
    ApiCredential:
      description: An object represents API user in CallFire system. Use /me/api/credentials endpoint to manage API users on your account
      properties:
        enabled:
          description: Is credential enabled
          type: boolean
        id:
          description: An id of an API credential
          format: int64
          type: integer
        name:
          description: A name of an API credential
          type: string
        password:
          description: A password for credential
          readOnly: true
          type: string
        username:
          description: Username for credential
          readOnly: true
          type: string
      type: object
    ApiCredentialPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/ApiCredential"
              type: array
          type: object
      description: "~"
    ApiExceptionHandler:
      description: "~"
      type: object
    ApiValidator:
      description: "~"
      properties:
        exceptionHandler:
          $ref: "#/components/schemas/ApiExceptionHandler"
      type: object
    AuthController:
      description: "~"
      properties:
        admin:
          description: "~"
          type: boolean
        authBrand:
          description: "~"
          enum:
            - EZTEXTING
            - CLUBTEXTING
            - GROUPTEXTING
            - TELLMYCELL
            - EZ
            - CALLFIRE
            - TESLA
          type: string
        authToken:
          $ref: "#/components/schemas/AuthToken"
        migration:
          description: "~"
          type: boolean
      type: object
    AuthToken:
      description: "~"
      properties:
        accountId:
          description: "~"
          format: int64
          type: integer
        adminClient:
          description: "~"
          type: boolean
        adminToken:
          $ref: "#/components/schemas/AuthToken"
        attributes:
          additionalProperties:
            type: string
          description: "~"
          type: object
        brand:
          description: "~"
          enum:
            - EZTEXTING
            - CLUBTEXTING
            - GROUPTEXTING
            - TELLMYCELL
            - EZ
            - CALLFIRE
            - TESLA
          type: string
        ezSpaClient:
          description: "~"
          type: boolean
        migration:
          description: "~"
          type: boolean
        session:
          $ref: "#/components/schemas/OAuthSession"
        sessionId:
          description: "~"
          type: string
        userId:
          description: "~"
          format: int64
          type: integer
      type: object
    Batch:
      description: A batch represents a group of contacts which can be dialed or texted via call/text broadcast
      properties:
        broadcastId:
          description: An id of broadcast which batch belongs to
          format: int64
          type: integer
        created:
          description: "A date and time when batch was created, formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        enabled:
          description: An enabled batch. If batch is disabled its contacts remain undialed/untexted
          type: boolean
        id:
          description: A id of a batch
          format: int64
          type: integer
        name:
          description: A batch name
          type: string
        remaining:
          description: A number of contacts remaining undialed/untexted
          format: int32
          readOnly: true
          type: integer
        size:
          description: A total number of contacts in batch
          format: int32
          readOnly: true
          type: integer
        status:
          description: A status of batch (NEW, VALIDATING, ERRORS, SOURCE_ERROR, ACTIVE). NEW - batch is queued for validation; VALIDATING - batch is currently validating; ERRORS - batch is processed, some validation errors occurred; SOURCE_ERROR - if contact source is contact list in CallFire system and it has an error; ACTIVE - batch is processed and ready
          enum:
            - NEW
            - VALIDATING
            - ERRORS
            - SOURCE_ERROR
            - ACTIVE
          type: string
      type: object
    BatchPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Batch"
              type: array
          type: object
      description: "~"
    BatchRequest:
      description: Request object is used for adding new batch to an existing broadcast
      properties:
        contactListId:
          description: An id of existing contact list
          format: int64
          type: integer
        name:
          description: A name of batch
          type: string
        recipients:
          description: A list of Recipient objects. For each recipient you can set its phone number or existing contact id to use contact which already exists in account
          items:
            $ref: "#/components/schemas/Recipient"
          type: array
        scrubDuplicates:
          description: Removes duplicate recipients from batch if true
          type: boolean
      type: object
    BillingPlanUsage:
      description: Contains statistics of billing plan usage
      properties:
        intervalEnd:
          description: "End of usage period formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        intervalStart:
          description: "Start of usage period formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        remainingPayAsYouGoCredits:
          description: Remaining pay as you go credits are rounded to nearest whole value
          readOnly: true
          type: number
        remainingPlanCredits:
          description: Remaining credits are rounded to nearest whole value associated with a plan
          readOnly: true
          type: number
        totalRemainingCredits:
          description: Total number of remaining credits (remainingPlanCredits + remainingPayAsYouGoCredits)
          readOnly: true
          type: number
      type: object
    Call:
      description: Represents a call action sent or received by CallFire platform
      properties:
        agentCall:
          description: An internal call to an agent
          readOnly: true
          type: boolean
        attributes:
          additionalProperties:
            type: string
          description: Map of user-defined string attributes associated with an action
          type: object
        batchId:
          description: An id of contact batch associated with an action
          format: int64
          readOnly: true
          type: integer
        campaignId:
          description: An id of broadcast associated with an action if call is sent as part of call broadcast
          format: int64
          readOnly: true
          type: integer
        contact:
          $ref: "#/components/schemas/Contact"
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT "
          format: int64
          readOnly: true
          type: integer
        finalCallResult:
          description: Result of a call (LA, AM, BUSY, DNC, XFER, NO_ANS, XFER_LEG, INTERNAL_ERROR, CARRIER_ERROR, CARRIER_TEMP_ERROR, UNDIALED, SD, POSTPONED, ABANDONED, SKIPPED). See [call states and results](https://developers.callfire.com/results-responses-errors.html)
          enum:
            - LA
            - AM
            - BUSY
            - DNC
            - XFER
            - NO_ANS
            - XFER_LEG
            - INTERNAL_ERROR
            - CARRIER_ERROR
            - CARRIER_TEMP_ERROR
            - UNDIALED
            - SD
            - POSTPONED
            - ABANDONED
            - SKIPPED
          readOnly: true
          type: string
        fromNumber:
          description: A sender's phone number in E.164 (11-digit) format
          type: string
        id:
          description: An id of  an action
          format: int64
          type: integer
        inbound:
          description: Is action inbound
          type: boolean
        labels:
          description: Labels associated with action or broadcast for this action
          items:
            type: string
          type: array
          uniqueItems: true
        modified:
          description: "The time when the given resource was modified, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT "
          format: int64
          readOnly: true
          type: integer
        notes:
          description: Notes of call added by an agent
          items:
            $ref: "#/components/schemas/Note"
          type: array
        records:
          description: List of call records, each record contains call details like originate time, duration, cost, notes made by agents. A single contact may have a multiple phone numbers. In this case if given call was sent as a part of broadcast with configured retry logic then each call record will contain details about attempted phone number
          items:
            $ref: "#/components/schemas/CallRecord"
          readOnly: true
          type: array
        state:
          description: State of an action (READY, SELECTED, CALLBACK, DISABLED, FINISHED, DNC, DUP, INVALID, TIMEOUT, PERIOD_LIMIT). See [call states and results](https://developers.callfire.com/results-responses-errors.html)
          enum:
            - READY
            - SELECTED
            - CALLBACK
            - FINISHED
            - DISABLED
            - SKIPPED
            - DNC
            - DUP
            - INVALID
            - TIMEOUT
            - PERIOD_LIMIT
            - RESTRICTED_NUMBER
          readOnly: true
          type: string
        toNumber:
          description: A recipient's phone number in E.164 (11-digit) format
          type: string
      type: object
    CallBroadcast:
      description: Call broadcast can be used to send out a voice message to a group of numbers. It supports IVR scripting, scheduling, retry logic, playing pre-recorded sounds, answering machine detection
      properties:
        answeringMachineConfig:
          description: "Specifies which action should be taken if answering machine was detected, default value: AM_AND_LIVE. Available values: AM_ONLY - run AMD (Answering Machine Detection), hang up if LA (Live Answer); AM_AND_LIVE - run AMD, play separate live vs. machine sound; LIVE_WITH_AMD, run AMD, hang up if machine answers; LIVE_IMMEDIATE - no AMD, play live sound immediately"
          enum:
            - AM_ONLY
            - AM_AND_LIVE
            - LIVE_WITH_AMD
            - LIVE_IMMEDIATE
          type: string
        dialplanXml:
          description: IVR xml is a document which describes the dialplan to setup the IVR broadcast
          type: string
        fromNumber:
          description: "Phone number in E.164 format (11-digit) or short code for text. Example: 12132000384, 67076"
          type: string
        id:
          description: A unique id of broadcast (readonly)
          format: int64
          type: integer
        labels:
          description: Labels of a broadcast
          items:
            type: string
          type: array
          uniqueItems: true
        lastModified:
          description: "The time when a given resource was updated, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT "
          format: int64
          readOnly: true
          type: integer
        localTimeRestriction:
          $ref: "#/components/schemas/LocalTimeRestriction"
        maxActive:
          description: Sets a maximum number of calls to be dialed by CallFire at once
          format: int32
          type: integer
        maxActiveTransfers:
          description: A maximum number of active transfers
          format: int32
          type: integer
        name:
          description: A name of a broadcast
          type: string
        recipients:
          description: Recipients of a call broadcast, can be either existing contacts or a new ones
          items:
            $ref: "#/components/schemas/Recipient"
          type: array
        resumeNextDay:
          description: If true resumes the unfinished campaign to the next day
          type: boolean
        retryConfig:
          $ref: "#/components/schemas/RetryConfig"
        schedules:
          description: A list of schedule objects which specifies a range of time when broadcast should be started and stopped. Supports the scheduling per day of week
          items:
            $ref: "#/components/schemas/Schedule"
          type: array
        sounds:
          $ref: "#/components/schemas/CallBroadcastSounds"
        status:
          description: A status of a broadcast (read only). SETUP - campaign isn't configured yet; START_PENDING - waiting for contact batch population; RUNNING - campaign is running; STOPPED - campaign is stopped; FINISHED - campaign is finished; ARCHIVED - campaign was archived
          enum:
            - TEST
            - SETUP
            - START_PENDING
            - RUNNING
            - SCHEDULED
            - STOPPED
            - SUSPENDED
            - FINISHED
            - ARCHIVED
            - VALIDATING_START
            - VALIDATING_EMAIL
            - BLOCKED_SUSPICIOUS
            - DECLINED
            - APPROVED
          readOnly: true
          type: string
      type: object
    CallBroadcastPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/CallBroadcast"
              type: array
          type: object
      description: "~"
    CallBroadcastSounds:
      description: A set of sounds assigned to a voice broadcast to play according to an answering machine configuration. You can add the existing sounds from the account's sound library or to provide a text which will be converted into a speech. There are four sound options available for a Voice Broadcast campaign
      properties:
        dncDigit:
          description: Digit pressed to place contact in DNC list
          type: string
        dncSoundId:
          description: An id of sound file to play when recipient decided to opt out and pressed DNC digit
          format: int64
          type: integer
        dncSoundText:
          description: Text to be turned into sound, plays to notify that Do Not Call digit has been pressed and inform your contact of their placement on the Do Not Call list
          type: string
        dncSoundTextVoice:
          description: The voice to be used (MALE1, FEMALE1, FEMALE2, SPANISH1, FRENCHCANADIAN1)
          enum:
            - MALE1
            - FEMALE1
            - FEMALE2
            - SPANISH1
            - FRENCHCANADIAN1
          type: string
        liveSoundId:
          description: An id of sound file to play if phone is answered
          format: int64
          type: integer
        liveSoundText:
          description: Text to be used to turned into a sound. This text will be played when the phone is answered
          type: string
        liveSoundTextVoice:
          description: The voice to be used (MALE1, FEMALE1, FEMALE2, SPANISH1, FRENCHCANADIAN1) for a live sound
          enum:
            - MALE1
            - FEMALE1
            - FEMALE2
            - SPANISH1
            - FRENCHCANADIAN1
          type: string
        machineSoundId:
          description: An id of a sound file to play if answering machine is detected
          format: int64
          type: integer
        machineSoundText:
          description: Text to be turned into a sound. This text will be played when answering machine is detected
          type: string
        machineSoundTextVoice:
          description: The voice to be used (MALE1, FEMALE1 , FEMALE2, SPANISH1, FRENCHCANADIAN1) for a machine sound
          enum:
            - MALE1
            - FEMALE1
            - FEMALE2
            - SPANISH1
            - FRENCHCANADIAN1
          type: string
        transferDigit:
          description: Digit pressed to initiate a transfer
          type: string
        transferNumber:
          description: "Phone number in E.164 format (11-digit) to transfer call to.  Example: 12132000384, 67076"
          type: string
        transferSoundId:
          description: An id of a file to play if call is transferred
          format: int64
          type: integer
        transferSoundText:
          description: Text to be turned into a sound. This text will be played when the transfer digit is played
          type: string
        transferSoundTextVoice:
          description: The voice to be used (MALE1, FEMALE1, FEMALE2, SPANISH1, FRENCHCANADIAN1) for a sound transfer
          enum:
            - MALE1
            - FEMALE1
            - FEMALE2
            - SPANISH1
            - FRENCHCANADIAN1
          type: string
      type: object
    CallBroadcastStats:
      description: "~"
      properties:
        answeringMachineCount:
          description: "~"
          format: int32
          type: integer
        billedAmount:
          description: "~"
          type: number
        billedDuration:
          description: "~"
          format: int32
          type: integer
        busyCount:
          description: "~"
          format: int32
          type: integer
        callsAttempted:
          description: "~"
          format: int32
          type: integer
        callsAwaitingRedial:
          description: "~"
          format: int32
          type: integer
        callsDuration:
          description: "~"
          format: int32
          type: integer
        callsLiveAnswer:
          description: "~"
          format: int32
          type: integer
        callsPlaced:
          description: "~"
          format: int32
          type: integer
        callsRemaining:
          description: "~"
          format: int32
          type: integer
        dialedCount:
          description: "~"
          format: int32
          type: integer
        doNotCallCount:
          description: "~"
          format: int32
          type: integer
        errorCount:
          description: "~"
          format: int32
          type: integer
        liveCount:
          description: "~"
          format: int32
          type: integer
        miscCount:
          description: "~"
          format: int32
          type: integer
        noAnswerCount:
          description: "~"
          format: int32
          type: integer
        remainingOutboundCount:
          description: "~"
          format: int32
          type: integer
        responseRatePercent:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
        totalOutboundCount:
          description: "~"
          format: int32
          type: integer
        transferCount:
          description: "~"
          format: int32
          type: integer
      type: object
    CallCreateSound:
      description: Request object is used for creating sound via a phone call. This sound will appear in account's sound library
      properties:
        name:
          description: Name of a sound to create
          type: string
        toNumber:
          description: "Phone number in E.164 11-digit format to call to record a sound.  Example: 12132000384"
          type: string
      type: object
    CallList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Call"
              type: array
          type: object
      description: "~"
    CallPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Call"
              type: array
          type: object
      description: "~"
    CallRecipient:
      description: Recipient of a campaign action. Can be a phone number, contact, or contact list with attributes added to action. It is required to specify one of this values
      properties:
        attributes:
          additionalProperties:
            type: string
          description: Map of user-defined string attributes associated with recipient
          type: object
        contactId:
          description: An id of existing contact used as recipient
          format: int64
          type: integer
        dialplanXml:
          description: An IVR xml document describing dialplan to setup an IVR broadcast. If dialplan is set there is no need to set live, machine and transfer sounds (or vice versa)
          type: string
        fromNumber:
          description: "~"
          type: string
        liveMessage:
          description: Text to be turned into a sound, this text will be played when the phone is answered
          type: string
        liveMessageSoundId:
          description: An id of a sound file to play if phone is answered
          format: int64
          type: integer
        machineMessage:
          description: Text to be used to turn into sound, this text will be played when answering machine is detected
          type: string
        machineMessageSoundId:
          description: An id of a sound file to play if answering machine is detected
          format: int64
          type: integer
        phoneNumber:
          description: "Recipient's phone number in E.164 format (11-digit) or short code. Example: 12132000384"
          type: string
        transferDigit:
          description: A digit pressed to initiate the transfer
          type: string
        transferMessage:
          description: Text to be turned into sound, this text will be played when the transfer digit is played
          type: string
        transferMessageSoundId:
          description: An id of a sound file to play if call is transferred
          format: int64
          type: integer
        transferNumber:
          description: "Phone number in E.164 format (11-digit) to transfer the call to. Example: 12132000384"
          type: string
        voice:
          description: The voice to be used (MALE1, FEMALE1, FEMALE2, SPANISH1, FRENCHCANADIAN1)
          enum:
            - MALE1
            - FEMALE1
            - FEMALE2
            - SPANISH1
            - FRENCHCANADIAN1
          type: string
      type: object
    CallRecord:
      description: Represents a call sent to a contact's number
      properties:
        answerTime:
          description: "Timestamp when call was answered, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        billedAmount:
          description: A cost of the call
          format: float
          readOnly: true
          type: number
        callerName:
          description: "~"
          readOnly: true
          type: string
        duration:
          description: Duration of the call in seconds
          format: int64
          readOnly: true
          type: integer
        finishTime:
          description: "Timestamp when call was finished, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        id:
          description: An id of a call record
          format: int64
          type: integer
        labels:
          description: Labels associated with a call action
          items:
            type: string
          readOnly: true
          type: array
          uniqueItems: true
        notes:
          description: Notes of call added by agent
          items:
            $ref: "#/components/schemas/Note"
          type: array
        originateTime:
          description: "A date and time (timestamp) when call was originated by CallFire platform and went to downstream provider, formatted in unix time milliseconds (read only). Example: 1473781817000 "
          format: int64
          readOnly: true
          type: integer
        questionResponses:
          description: Notes of call added by an agent
          items:
            $ref: "#/components/schemas/QuestionResponse"
          type: array
        recordings:
          description: A list of voice recordings of the call
          items:
            $ref: "#/components/schemas/CallRecording"
          type: array
        result:
          description: "~"
          enum:
            - LA
            - AM
            - BUSY
            - DNC
            - XFER
            - NO_ANS
            - XFER_LEG
            - INTERNAL_ERROR
            - CARRIER_ERROR
            - CARRIER_TEMP_ERROR
            - UNDIALED
            - SD
            - POSTPONED
            - ABANDONED
            - SKIPPED
          readOnly: true
          type: string
        switchId:
          description: "~"
          readOnly: true
          type: string
        toNumber:
          description: "A phone number to which a call was addressed. Phone number in E.164 format (11-digit). Example: 12132000384"
          readOnly: true
          type: string
      type: object
    CallRecording:
      description: Represents a recording of a voice call
      properties:
        callId:
          description: An id of a call action
          format: int64
          type: integer
        campaignId:
          description: Contains broadcast id if call was sent as a part of voice broadcast
          format: int64
          type: integer
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          type: integer
        hash:
          description: A unique string hash identifier of a recording
          type: string
        id:
          description: An id of a call recording
          format: int64
          type: integer
        lengthInBytes:
          description: A size of a recording file in bytes
          format: int64
          type: integer
        lengthInSeconds:
          description: Duration of a recording in seconds
          format: int32
          type: integer
        mp3Url:
          description: A public URL of a call recording
          type: string
        name:
          description: A name of a recording
          type: string
        state:
          description: "Current state of a recording, available values: RECORDING - recording is in progress, READY - recording is ready, ERROR - error has occurred and recording can be broken"
          enum:
            - RECORDING
            - READY
            - ERROR
          type: string
      type: object
    CallRecordingList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/CallRecording"
              type: array
          type: object
      description: "~"
    CallTrackingConfig:
      description: Call tracking configuration allows you track incoming calls, analyze, respond to customers using sms or voice replies. For more information see [call tracking page](https://www.callfire.com/products/call-tracking)
      properties:
        failedTransferSoundId:
          description: An id of sound file, played if caller can not be connected to transfer number for any reason
          format: int64
          type: integer
        googleAnalytics:
          $ref: "#/components/schemas/GoogleAnalytics"
        introSoundId:
          description: An id of sound file, played if call is answered
          format: int64
          type: integer
        recorded:
          description: Records all inbound calls
          type: boolean
        screen:
          description: Screens the incoming calls
          type: boolean
        transferNumbers:
          description: "List of phone numbers in E.164 format (11-digit) are used for transfer. Example: 12132000384"
          items:
            type: string
          type: array
        voicemail:
          description: Enables voicemail if call is not transferred
          type: boolean
        voicemailSoundId:
          description: An id of sound file, played if voicemail is enabled and a call isn't transferred
          format: int64
          type: integer
        weeklySchedule:
          $ref: "#/components/schemas/WeeklySchedule"
        whisperSoundId:
          description: An id of sound file, played if call is screened
          format: int64
          type: integer
      type: object
    CallerId:
      description: "~"
      properties:
        phoneNumber:
          description: "~"
          type: string
      type: object
    CallerIdList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/CallerId"
              type: array
          type: object
      description: "~"
    CallerIdVerificationRequest:
      description: Request which is used to verify a new caller id number
      properties:
        verificationCode:
          description: The code used to verify a caller id number
          type: string
      type: object
    CampaignSound:
      description: Represents a sound recording from account's sound library which can be used in different API operations
      properties:
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        duplicate:
          description: True if the same sound file exists in a sound library of account
          readOnly: true
          type: boolean
        id:
          description: An id of a sound file
          format: int64
          type: integer
        lengthInSeconds:
          description: Length of a sound in seconds
          format: int32
          readOnly: true
          type: integer
        name:
          description: A name of a sound file
          type: string
        status:
          description: "A current status of a sound, available values: UPLOAD - uploading is in progress, RECORDING - recording of sound is in progress, ACTIVE - sound is ready, FAILED, ARCHIVED - sound was archived, SCRUBBED - sound was scrubbed "
          enum:
            - UPLOAD
            - RECORDING
            - ACTIVE
            - ACTIVE_SYSTEM
            - FAILED
            - ARCHIVED
            - SCRUBBED
          readOnly: true
          type: string
      type: object
    CampaignSoundPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/CampaignSound"
              type: array
          type: object
      description: "~"
    Contact:
      description: Represents a contact in CallFire platform. Contains info about the people you want to contact. It allows you to store a user-defined properties for each contact
      properties:
        deleted:
          description: A deleted contact, deleted contacts are hidden from search results
          type: boolean
        externalId:
          description: An external id of a contact for syncing with external sources
          type: string
        externalSystem:
          description: External system that external id refers to
          type: string
        extraPhone1:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        extraPhone2:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        extraPhone3:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        firstName:
          description: A first name of a contact
          type: string
        homePhone:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        id:
          description: An id of a contact
          format: int64
          type: integer
        lastName:
          description: A last name of a contact
          type: string
        mobilePhone:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        properties:
          additionalProperties:
            type: string
          description: Map of user-defined string properties for contact
          type: object
        workPhone:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        zipcode:
          description: A Zip code of a contact
          type: string
      type: object
    ContactHistory:
      description: Contains history of all calls and texts addressed to a given contact
      properties:
        calls:
          description: List of Call objects addressed to a given contact
          items:
            $ref: "#/components/schemas/Call"
          type: array
        id:
          description: An id of a contact
          format: int64
          type: integer
        texts:
          description: List of Text objects addressed to a given contact
          items:
            $ref: "#/components/schemas/Text"
          type: array
      type: object
    ContactList:
      description: Represents a contact list in CallFire system
      properties:
        created:
          description: "A time when a given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          type: integer
        id:
          description: An Id of a contact list
          format: int64
          type: integer
        name:
          description: A name of a contact list
          type: string
        size:
          description: A number of contacts in a contact list
          format: int32
          type: integer
        status:
          description: "A current status of a contact list, available values: ACTIVE - contact list is ready, VALIDATING - contact list validation is in progress, IMPORTING - importing is in progress, IMPORT_FAILED - in case of errors occurred during the importing, ERRORS - contact list has validation errors, DELETED - contact list was deleted, PARSE_FAILED - contacts cannot be parsed, COLUMN_TOO_LARGE - if size of phone number or any other column exceeds 255 characters"
          enum:
            - ACTIVE
            - VALIDATING
            - IMPORTING
            - IMPORT_FAILED
            - ERRORS
            - DELETED
            - PARSE_FAILED
            - COLUMN_TOO_LARGE
          type: string
      type: object
    ContactListPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/ContactList"
              type: array
          type: object
      description: "~"
    ContactPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Contact"
              type: array
          type: object
      description: "~"
    CreateContactListRequest:
      description: A request object is used to create a contact list from one of available contact sources
      properties:
        contactIds:
          description: A list of ids of existing contacts in CallFire system
          items:
            format: int64
            type: integer
          type: array
        contactNumbers:
          description: "List of numbers in E.164 format (11-digit). Example: 12132000384"
          items:
            type: string
          type: array
        contactNumbersField:
          description: A type of a phone number (homePhone, workPhone, mobilePhone). This parameter is used with contactNumbers and specifies which types of phone numbers are included to a contact list
          type: string
        contacts:
          description: A list of new contact objects to be added
          items:
            $ref: "#/components/schemas/Contact"
          type: array
        name:
          description: A name of a contact list
          type: string
        useCustomFields:
          description: A flag to indicate how to define property names for contacts. If true, uses the field and property names exactly as defined. If false will assign custom properties and fields to A, B, C, etc
          type: boolean
      type: object
    CreditUsage:
      description: Contains statistics of billing plan usage
      properties:
        callsDurationMinutes:
          description: Sum of calls duration rounded to nearest whole minute
          format: int32
          readOnly: true
          type: integer
        creditsUsed:
          description: Total credits used calls and texts.
          readOnly: true
          type: number
        intervalBegin:
          description: "Start of usage period formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        intervalEnd:
          description: "End of usage period formatted in unix time milliseconds. Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        textsSent:
          description: Number of texts sent
          format: int32
          readOnly: true
          type: integer
      type: object
    DateTimeZone:
      description: "~"
      properties:
        fixed:
          description: "~"
          type: boolean
        id:
          description: "~"
          type: string
      type: object
    DeliveryReport:
      description: "~"
      properties:
        campaignId:
          description: "~"
          format: int64
          type: integer
        carrier:
          description: "~"
          type: string
        deliveryCategory:
          description: "~"
          enum:
            - NO_DATA
            - OPTED_OUT
            - BOUNCED
            - NO_CREDITS
            - DELIVERED
          type: string
        deliveryState:
          description: "~"
          enum:
            - DELIVERED
            - UNSENT_OPTED_OUT_GLOBAL
            - UNSENT_OPTED_OUT_LOCAL
            - UNSENT_NO_CREDITS
            - GATEWAY_REJECTED
            - CARRIER_REJECTED
            - NOT_DELIVERED
            - UNSENT_INVALID_NUMBER
            - UNSENT_BAD_DATA
            - UNSENT_FORCE_STOPPED
            - UNSENT_PERIOD_LIMIT
            - UNSENT_INTERNATIONAL
            - UNSENT_INVALID_TIMEZONE_OR_DNC
            - UNSENT_ALREADY_SCRUBBED
            - UNSENT_SYSTEM_ERROR
            - UNSENT_NO_WIRELESS_CARRIER
            - UNSENT_MESSAGE_TOO_LONG
            - UNSENT_MESSAGE_BLOCKED
            - UNSENT_QUEUE_LIMIT_REACHED
            - UNSENT_TOKEN_LIMIT_REACHED
            - UNSENT_TIME_LIMIT_REACHED
            - UNSENT_SCHEDULER_CAPACITY_EXCEEDED
            - SPAM_DETECTED
            - UNSENT_NO_GATEWAY
            - UNSENT_DAILY_LIMIT_REACHED
            - ORIGINATED
            - SUBMITTED
            - FORWARDED
            - NOT_GIVEN
            - UNKNOWN
            - RETRY_MMS_AS_SMS
            - QUEUED
            - QUEUED_TRANSCODE
            - ORIGINAL
            - DUPE
            - TRUNCATED
            - REQUEUED_RATE_LIMITED
            - BUFFERED
            - RATE_LIMIT_EXCEEDED
            - SERVICE_UNAVAILABLE
            - SEND_MMS_AS_SMS
            - REQUEUED_RECOVERABLE_ERROR
            - SEND_WITH_ADDITIONAL_SPID
            - UNSENT_FREE_TRIAL
          type: string
        fromNumber:
          description: "~"
          type: string
        messageText:
          description: "~"
          type: string
        toNumber:
          description: "~"
          type: string
        updated:
          description: "~"
          format: date-time
          type: string
      type: object
    DncListDto:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/DoNotContact"
              type: array
          type: object
      description: "~"
    DoNotContact:
      description: Represents an opted out contact
      properties:
        call:
          description: A number on Do-Not-Call list
          type: boolean
        campaignId:
          description: An Id of a campaign which was used to send a message to DNC number
          format: int64
          readOnly: true
          type: integer
        created:
          description: "A time when a given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        inboundCall:
          description: "~"
          type: boolean
        inboundText:
          description: "~"
          type: boolean
        number:
          description: "A single DNC number in E.164 format (11-digit). Example: 12132000384"
          type: string
        source:
          description: The name of DNC source (can be the name of DNC list that user uploads to CallFire)
          type: string
        text:
          description: A number on Do-Not-Text list
          type: boolean
      type: object
    DoNotContactPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/DoNotContact"
              type: array
          type: object
      description: "~"
    Duration:
      description: "~"
      properties:
        millis:
          description: "~"
          format: int64
          type: integer
        standardDays:
          description: "~"
          format: int64
          type: integer
        standardHours:
          description: "~"
          format: int64
          type: integer
        standardMinutes:
          description: "~"
          format: int64
          type: integer
        standardSeconds:
          description: "~"
          format: int64
          type: integer
      type: object
    ErrorResponse:
      description: Error response containing error info
      properties:
        developerMessage:
          description: "~"
          type: string
        helpLink:
          description: "~"
          type: string
        httpStatusCode:
          description: "~"
          format: int32
          type: integer
        internalCode:
          description: "~"
          type: string
        message:
          description: "~"
          type: string
      type: object
    GoogleAnalytics:
      description: Google Analytics for Call Tracking
      properties:
        category:
          description: "A category to group. For example: Sales or Support"
          type: string
        domain:
          description: A domain name for analytics
          type: string
        googleAccountId:
          description: "An id of a Google account, example: UA-XXXXX-2X"
          type: string
      type: object
    InputStream:
      description: "~"
      type: object
    ItemList:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            properties: {}
            type: object
          type: array
      type: object
    ItemListUniversalDoNotContact:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/UniversalDoNotContact"
          type: array
      type: object
    ItemListWebhookResource:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/WebhookResource"
          type: array
      type: object
    IvrInboundConfig:
      description: "~"
      properties:
        dialplanXml:
          description: "~"
          type: string
      type: object
    Keyword:
      description: "~"
      properties:
        keyword:
          description: "~"
          type: string
        number:
          description: "~"
          type: string
        shortCode:
          description: "~"
          type: string
      type: object
    KeywordConfig:
      description: "~"
      properties:
        keyword:
          description: "~"
          type: string
        textInboundConfig:
          $ref: "#/components/schemas/TextInboundConfig"
      type: object
    KeywordLease:
      description: Represents a lease object for a given keyword
      properties:
        autoRenew:
          description: Enables the auto renewal of a keyword lease at the end of each billing cycle
          type: boolean
        contactListId:
          description: Existing contact list ID
          format: int64
          type: integer
        doubleOptInEnabled:
          description: Enable/disable double opt in feature
          type: boolean
        keyword:
          description: A text used as a keyword
          type: string
        labels:
          description: "~"
          items:
            type: string
          type: array
        leaseBegin:
          description: "A time of a lease timestamp, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          type: integer
        leaseEnd:
          description: "A date and time when the keyword lease is finishes. Timestamp, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          type: integer
        number:
          description: "A number assigned to keyword. Example: 12132212344"
          type: string
        optInConfirmationMessage:
          description: Opt in confirmation message
          type: string
        shortCode:
          description: "A short code assigned to keyword. Example: 67076 (Deprecated - please use number instead)"
          type: string
        status:
          description: "A lease status. Available values: PENDING, ACTIVE, RELEASED, UNAVAILABLE"
          enum:
            - PENDING
            - ACTIVE
            - RELEASED
            - UNAVAILABLE
          type: string
        type:
          description: "~"
          enum:
            - PLAN
            - EXTRA
          type: string
      type: object
    KeywordLeasePage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/KeywordLease"
              type: array
          type: object
      description: "~"
    KeywordList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Keyword"
              type: array
          type: object
      description: "~"
    KeywordPurchaseRequest:
      description: Request object is used to purchase keywords
      properties:
        keywords:
          description: A list of keywords
          items:
            type: string
          type: array
      type: object
    LocalDate:
      description: Represents a date object (without time part)
      properties:
        day:
          description: "A day of the month. Available values: 1-31"
          format: int32
          type: integer
        month:
          description: "A month of the year. Available values: 1-12"
          format: int32
          type: integer
        year:
          description: "A year. Example: 2020"
          format: int32
          type: integer
      type: object
    LocalTime:
      description: Represents a time part of a given date
      properties:
        hour:
          description: "An hour of the day. Available values: 0-23"
          format: int32
          type: integer
        minute:
          description: "The minutes. Available values: 0-59"
          format: int32
          type: integer
        nano:
          description: "~"
          format: int32
          type: integer
        second:
          description: "The seconds.  Available values: 0-59"
          format: int32
          type: integer
      type: object
    LocalTimeRestriction:
      description: Represents a range of time during which CallFire will send a call or text to recipients. Timeframe uses the local timezone of recipient's number
      properties:
        beginHour:
          description: An hour of restriction start
          format: int32
          type: integer
        beginMinute:
          description: The minutes to start a restriction
          format: int32
          type: integer
        enabled:
          description: A restriction enabled
          type: boolean
        endHour:
          description: An hour of restriction end
          format: int32
          type: integer
        endMinute:
          description: The minutes of restriction end
          format: int32
          type: integer
      type: object
    LocalTimeZoneRestriction:
      description: "~"
      properties:
        enabled:
          description: "~"
          type: boolean
        startTime:
          description: "~"
          format: date-time
          type: string
        stopTime:
          description: "~"
          format: date-time
          type: string
      type: object
    Locale:
      description: "~"
      properties:
        country:
          description: "~"
          type: string
        displayCountry:
          description: "~"
          type: string
        displayLanguage:
          description: "~"
          type: string
        displayName:
          description: "~"
          type: string
        displayScript:
          description: "~"
          type: string
        displayVariant:
          description: "~"
          type: string
        extensionKeys:
          description: "~"
          items:
            type: string
          type: array
          uniqueItems: true
        iso3Country:
          description: "~"
          type: string
        iso3Language:
          description: "~"
          type: string
        language:
          description: "~"
          type: string
        script:
          description: "~"
          type: string
        unicodeLocaleAttributes:
          description: "~"
          items:
            type: string
          type: array
          uniqueItems: true
        unicodeLocaleKeys:
          description: "~"
          items:
            type: string
          type: array
          uniqueItems: true
        variant:
          description: "~"
          type: string
      type: object
    ManagedAccountDto:
      description: "~"
      properties:
        accountHolderId:
          description: "~"
          type: string
        credits:
          description: "~"
          type: number
        email:
          description: "~"
          type: string
        id:
          description: "~"
          type: string
        lastLogin:
          description: "~"
          format: date-time
          type: string
        name:
          description: "~"
          type: string
        state:
          description: "~"
          enum:
            - ACTIVE
            - PENDING
            - PENDING_VERIFICATION
            - IN_REVIEW
          type: string
      type: object
    ManagedAccountsPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/ManagedAccountDto"
              type: array
          type: object
      description: "~"
    Media:
      description: Represents a media file which can be added to a text message
      properties:
        accountId:
          description: "~"
          format: int64
          type: integer
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 "
          format: int64
          type: integer
        id:
          description: An id of a media file
          format: int64
          type: integer
        lengthInBytes:
          description: A size of a media file in bytes
          format: int64
          type: integer
        mediaType:
          description: "A MIME type of media file, ex: image/jpeg, image/png, video/mp4, audio/mp3, etc"
          type: string
        name:
          description: A name of a media file
          type: string
        publicUrl:
          description: A public URL of a media file
          type: string
      type: object
    MediaPage:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/Media"
          type: array
        limit:
          description: "~"
          format: int32
          type: integer
        offset:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
      type: object
    MessageTemplateCategory:
      description: "~"
      properties:
        id:
          description: "~"
          format: int64
          type: integer
        name:
          description: "~"
          type: string
      type: object
    MessageTemplateCategoryPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/MessageTemplateCategory"
              type: array
          type: object
      description: "~"
    Note:
      description: Represents a note which can be added to a call
      properties:
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          type: integer
        text:
          description: A text of a note
          type: string
      type: object
    Number:
      description: "~"
      properties:
        nationalFormat:
          description: "~"
          type: string
        number:
          description: "~"
          type: string
        region:
          $ref: "#/components/schemas/Region"
        sendEmailOnCreate:
          description: "~"
          type: boolean
        tollFree:
          description: "~"
          type: boolean
      type: object
    NumberConfig:
      description: Represents the configuration of a phone number purchased by user. You can configure number to accept inbound calls, play sounds to customer, make a transfer or setup an IVR script to interact with customer. See [CallFire IVR](https://www.callfire.com/products/ivr) for more info
      properties:
        callTrackingConfig:
          $ref: "#/components/schemas/CallTrackingConfig"
        configType:
          description: "A type of config. Available values: TRACKING, IVR"
          enum:
            - IVR
            - TRACKING
          type: string
        ivrInboundConfig:
          $ref: "#/components/schemas/IvrInboundConfig"
        number:
          description: "Phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        textInboundConfig:
          $ref: "#/components/schemas/TextInboundConfig"
      type: object
    NumberConfigPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/NumberConfig"
              type: array
          type: object
      description: "~"
    NumberLease:
      description: Represents a lease object for a given phone number
      properties:
        autoRenew:
          description: Enables the auto renewal of number lease at end of each billing cycle
          type: boolean
        callFeatureStatus:
          description: "A status of a call feature. Available values: DISABLED, ENABLED"
          enum:
            - UNSUPPORTED
            - PENDING
            - DISABLED
            - ENABLED
          type: string
        labels:
          description: "~"
          items:
            type: string
          type: array
        leaseBegin:
          description: "A date and time of a lease start. Timestamp, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          type: integer
        leaseEnd:
          description: "A data and time of a lease finish. Timestamp, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          type: integer
        nationalFormat:
          description: Formatted number with a country code
          type: string
        number:
          description: "A phone number in E.164 format (11-digit). Example: 12132000384"
          type: string
        region:
          $ref: "#/components/schemas/Region"
        sendEmailOnCreate:
          description: "~"
          type: boolean
        status:
          description: "A lease status. Available values: PENDING, ACTIVE, RELEASED, UNAVAILABLE"
          enum:
            - PENDING
            - ACTIVE
            - RELEASED
            - UNAVAILABLE
          readOnly: true
          type: string
        textFeatureStatus:
          description: "A status of a text feature. Available values: DISABLED, ENABLED"
          enum:
            - UNSUPPORTED
            - PENDING
            - DISABLED
            - ENABLED
          type: string
        tollFree:
          description: A  toll-free number
          type: boolean
        type:
          description: "~"
          enum:
            - PLAN
            - EXTRA
          type: string
      type: object
    NumberLeasePage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/NumberLease"
              type: array
          type: object
      description: "~"
    NumberList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Number"
              type: array
          type: object
      description: "~"
    NumberOrder:
      description: Represents an order created on the CallFire platform
      properties:
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          readOnly: true
          type: integer
        id:
          description: An id of an order
          format: int64
          type: integer
        keywords:
          $ref: "#/components/schemas/NumberOrderItem"
        localNumbers:
          $ref: "#/components/schemas/NumberOrderItem"
        salesTax:
          description: "~"
          format: float
          readOnly: true
          type: number
        status:
          description: "A current status of an order. Available values: NEW, PROCESSING, FINISHED, ERRORED, VOID, WAIT_FOR_PAYMENT, REJECTED"
          enum:
            - PROCESSING
            - FINISHED
            - PAYMENT_ERROR
            - VOID
            - WAIT_FOR_PAYMENT
            - PARTIALLY_ADJUSTED
            - ADJUSTED
            - NEW
            - ERRORED
            - APPROVE_TIER_ONE
            - APPROVE_TIER_TWO
            - REJECTED
          readOnly: true
          type: string
        summary:
          description: "~"
          format: float
          readOnly: true
          type: number
        tollFreeNumbers:
          $ref: "#/components/schemas/NumberOrderItem"
        total:
          description: "~"
          format: float
          readOnly: true
          type: number
        totalCost:
          description: A total cost of an order
          format: float
          readOnly: true
          type: number
      type: object
    NumberOrderItem:
      description: Represents an order item of a particular order
      properties:
        fulfilled:
          description: List of fulfilled items, e.g. phone numbers, keywords
          items:
            type: string
          readOnly: true
          type: array
        ordered:
          description: A total number of items bought within a single order item
          format: int32
          type: integer
        unitCost:
          description: A cost of unit
          format: float
          readOnly: true
          type: number
      type: object
    NumberPurchaseRequest:
      description: Request object is used to order a local or toll-free numbers
      properties:
        city:
          description: City of requested numbers
          type: string
        localCount:
          description: Total count of local numbers requested
          format: int32
          type: integer
        numbers:
          description: "A list of phone numbers in E.164 format (11-digit) to buy. Example: 12132000384"
          items:
            type: string
          type: array
        prefix:
          description: Country prefix of requested numbers
          type: string
        promo:
          description: "~"
          type: string
        state:
          description: A two-letter state code of requested numbers
          type: string
        tollFreeCount:
          description: Total count of toll-free numbers requested
          format: int32
          type: integer
        zipcode:
          description: A five-digit Zip code of requested numbers
          type: string
      type: object
    OAuthSession:
      description: "~"
      properties:
        accountId:
          description: "~"
          type: string
        actor:
          $ref: "#/components/schemas/OAuthSession"
        brand:
          description: "~"
          enum:
            - EZTEXTING
            - CLUBTEXTING
            - GROUPTEXTING
            - TELLMYCELL
            - EZ
            - CALLFIRE
            - TESLA
          type: string
        clientId:
          description: "~"
          type: string
        email:
          description: "~"
          type: string
        expires:
          description: "~"
          format: date-time
          type: string
        grantType:
          description: "~"
          enum:
            - AUTHORIZATION_CODE
            - PASSWORD
            - REFRESH_TOKEN
            - CLIENT_CREDENTIALS
            - JWT_BEARER
            - IMPERSONATE
            - EXCHANGE
          type: string
        id:
          description: "~"
          type: string
        ipAddress:
          description: "~"
          type: string
        issued:
          description: "~"
          format: date-time
          type: string
        scope:
          description: "~"
          type: string
        sid:
          description: "~"
          format: int64
          type: integer
        userId:
          description: "~"
          type: string
        username:
          description: "~"
          type: string
        verificationRequired:
          description: "~"
          type: boolean
      type: object
    Page:
      description: Represents a page with results returned by query operation. Check [pagination](https://developers.callfire.com/docs.html#pagination) page for more information about pagination in CallFire API.
      properties:
        items:
          description: A list of returned items
          items:
            properties: {}
            type: object
          type: array
        limit:
          description: A maximum number of returned items. If items.size() < limit assume no more items
          format: int32
          type: integer
        offset:
          description: An offset from a start of paging source
          format: int32
          type: integer
        totalCount:
          description: Total count of available results. -1 if unknown
          format: int32
          type: integer
      type: object
    PageDeliveryReport:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/DeliveryReport"
          type: array
        limit:
          description: "~"
          format: int32
          type: integer
        offset:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
      type: object
    PageKeywordLease:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/KeywordLease"
          type: array
        limit:
          description: "~"
          format: int32
          type: integer
        offset:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
      type: object
    PageNumberOrder:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/NumberOrder"
          type: array
        limit:
          description: "~"
          format: int32
          type: integer
        offset:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
      type: object
    PageText:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/Text"
          type: array
        limit:
          description: "~"
          format: int32
          type: integer
        offset:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
      type: object
    PageWebhook:
      description: "~"
      properties:
        items:
          description: "~"
          items:
            $ref: "#/components/schemas/Webhook"
          type: array
        limit:
          description: "~"
          format: int32
          type: integer
        offset:
          description: "~"
          format: int32
          type: integer
        totalCount:
          description: "~"
          format: int32
          type: integer
      type: object
    QuestionResponse:
      description: Object represents the question and client's answer, used in cloud call center / IVR campaign
      properties:
        question:
          description: A text of a question
          type: string
        response:
          description: Client's answer
          type: string
      type: object
    Recipient:
      description: A recipient of a campaign action. It can be a phone number, contact, or contact list with attributes added to an action, one of these values should be set
      properties:
        attributes:
          additionalProperties:
            type: string
          description: Map of user-defined string attributes associated with recipient
          type: object
        contactId:
          description: An id of existing contact used as recipient
          format: int64
          type: integer
        fromNumber:
          description: "~"
          type: string
        phoneNumber:
          description: "A recipient's phone number in E.164 format (11-digit) or short code. Example: 12132000384, 67076"
          type: string
      type: object
    Region:
      description: Every local number associated with a region. You can query regions to use them in subsequent purchase requests
      properties:
        city:
          description: A city of a region
          type: string
        country:
          description: A country of a region
          type: string
        latitude:
          description: A latitude of a region
          format: float
          type: number
        longitude:
          description: A longitude of a region
          format: float
          type: number
        prefix:
          description: A country prefix of a region. 4-7 digit
          type: string
        state:
          description: A two-letter state code of region
          type: string
        timeZone:
          description: A timezone of a region
          type: string
        zipcode:
          description: A five-digit zip code of a region
          type: string
      type: object
    RegionPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Region"
              type: array
          type: object
      description: "~"
    ResourceId:
      description: An id of a resource
      properties:
        id:
          description: An id of a resource
          format: int64
          type: integer
      type: object
    ResourceIdList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/ResourceId"
              type: array
          type: object
      description: "~"
    RetryConfig:
      description: Retry configuration will help you to resend a call or text if it was not delivered first time
      properties:
        maxAttempts:
          description: "Maximum number of retry attempts. Default value: 1"
          format: int32
          type: integer
        minutesBetweenAttempts:
          description: "A number of minutes between retry attempts. Default value: 60"
          format: int32
          type: integer
        retryPhoneTypes:
          description: "A list of phone number types to retry. Available values: FIRST_NUMBER, HOME_PHONE, WORK_PHONE, MOBILE_PHONE"
          items:
            type: string
          type: array
        retryResults:
          description: "List of result states when a call/text should be addressed to this contact again. Supports any combination of result statuses. Available values: LA, BUSY, AM, NO_ANS, SENT, RECEIVED, etc. See [call/text states and results](https://developers.callfire.com/results-responses-errors.html)"
          items:
            type: string
          type: array
      type: object
    Schedule:
      description: A campaign schedule
      properties:
        campaignId:
          description: "~"
          format: int64
          type: integer
        daysOfWeek:
          description: "~"
          items:
            type: string
          type: array
          uniqueItems: true
        id:
          description: "~"
          format: int64
          type: integer
        startDate:
          $ref: "#/components/schemas/LocalDate"
        startTimeOfDay:
          $ref: "#/components/schemas/LocalTime"
        stopDate:
          $ref: "#/components/schemas/LocalDate"
        stopTimeOfDay:
          $ref: "#/components/schemas/LocalTime"
        timeZone:
          description: "~"
          type: string
      type: object
    StreamingOutput:
      description: "~"
      type: object
    StringList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                type: string
              type: array
          type: object
      description: "~"
    TemporalUnit:
      description: "~"
      properties:
        dateBased:
          description: "~"
          type: boolean
        duration:
          $ref: "#/components/schemas/Duration"
        durationEstimated:
          description: "~"
          type: boolean
        timeBased:
          description: "~"
          type: boolean
      type: object
    Text:
      description: Represents a text action sent or received by CallFire platform
      properties:
        attributes:
          additionalProperties:
            type: string
          description: Map of user-defined string attributes associated with an action
          type: object
        batchId:
          description: An id of contact batch associated with an action
          format: int64
          readOnly: true
          type: integer
        campaignId:
          description: An id of broadcast if given text was sent as a part of text broadcast
          format: int64
          readOnly: true
          type: integer
        contact:
          $ref: "#/components/schemas/Contact"
        created:
          description: "The time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        finalTextResult:
          description: Result of text (SENT, RECEIVED, DNT, TOO_BIG, INTERNAL_ERROR, CARRIER_ERROR, CARRIER_TEMP_ERROR, UNDIALED). See [call states and results](https://developers.callfire.com/results-responses-errors.html)
          enum:
            - SENT
            - RECEIVED
            - DNT
            - TOO_BIG
            - INTERNAL_ERROR
            - CARRIER_ERROR
            - CARRIER_TEMP_ERROR
            - UNDIALED
            - INVALID_NUMBER
          readOnly: true
          type: string
        fromNumber:
          description: "Sender's phone number in E.164 format (11-digit) or short code. Example: 12132000384, 67076"
          type: string
        id:
          description: An id of an action
          format: int64
          type: integer
        inbound:
          description: An action inbound
          type: boolean
        labels:
          description: Labels associated with an action
          items:
            type: string
          type: array
          uniqueItems: true
        media:
          description: "~"
          items:
            $ref: "#/components/schemas/Media"
          type: array
        message:
          description: A text message
          type: string
        modified:
          description: "The time when the given resource was modified, formatted in unix time milliseconds (read only). Example: 1473781817000 for Sat, 05 Jan 1985 14:03:37 GMT"
          format: int64
          readOnly: true
          type: integer
        records:
          description: "List of text records, each record contains additional details: time of sending, cost, current state.  A single contact may have multiple numbers. If given text was sent as part of broadcast with configured retry logic then each text record will contain details about attempted number"
          items:
            $ref: "#/components/schemas/TextRecord"
          type: array
        state:
          description: Current state of an action (READY, SELECTED, CALLBACK, DISABLED, FINISHED, DNC, DUP, INVALID, TIMEOUT, PERIOD_LIMIT). See [call states and results](https://developers.callfire.com/results-responses-errors.html)
          enum:
            - READY
            - SELECTED
            - CALLBACK
            - FINISHED
            - DISABLED
            - SKIPPED
            - DNC
            - DUP
            - INVALID
            - TIMEOUT
            - PERIOD_LIMIT
            - RESTRICTED_NUMBER
          readOnly: true
          type: string
        toNumber:
          description: "Recipient's phone number in E.164 format (11-digit) or short code. Example: 12132000384, 67076"
          type: string
      type: object
    TextAutoReply:
      description: CallFire allows you to set up auto reply messages for your numbers CallFire allows you to set up auto reply messages for your numbers and keywords. You can set a general auto reply for anyone who texts your number (keyword). Also you can include a text to match, so that the auto reply would be sent only to those recipients whose texts the matched text
      properties:
        id:
          description: An id of a text auto reply
          format: int64
          type: integer
        keyword:
          description: Setup autoreply for a given keyword
          type: string
        match:
          description: Text to match. If it is set then autoreply will be sent to a person who texted message with matched text. Case insensitive, if parameter is not specified then all texts will be matched
          type: string
        message:
          description: A text message to return as an auto reply
          type: string
        number:
          description: "Setup autoreply for a given phone number, E.164 format (11-digit). Example: 12132000384"
          type: string
      type: object
    TextAutoReplyPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/TextAutoReply"
              type: array
          type: object
      description: "~"
    TextBroadcast:
      description: A text campaign allows you to send a text message to a number of recipients. It supports scheduling, retry logic and pattern-based messages
      properties:
        bigMessageStrategy:
          description: "If message length exceeds 160 characters, multiple messages will be sent, SEND_MULTIPLE strategy is chosen by default. Available values: SEND_MULTIPLE - send text as multiple messages, DO_NOT_SEND - do not send text if it exceeds 160 characters, TRIM - trims text message to 160 characters"
          enum:
            - SEND_MULTIPLE
            - DO_NOT_SEND
            - TRIM
            - MMS
          type: string
        fromNumber:
          description: "A phone number in E.164 format (11-digit) or short code. Example: 12132000384, 67076, etc"
          type: string
        id:
          description: A unique id of a broadcast
          format: int64
          type: integer
        labels:
          description: A labels of a broadcast
          items:
            type: string
          type: array
          uniqueItems: true
        lastModified:
          description: "A time when the given resource was updated, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          readOnly: true
          type: integer
        localTimeRestriction:
          $ref: "#/components/schemas/LocalTimeRestriction"
        maxActive:
          description: A maximum number of texts that CallFire dials at once
          format: int32
          type: integer
        media:
          description: "~"
          items:
            $ref: "#/components/schemas/Media"
          type: array
        message:
          description: A text message
          type: string
        name:
          description: A name of a broadcast
          type: string
        recipients:
          description: Recipients of a text campaign, can be an existing contacts or a new one
          items:
            $ref: "#/components/schemas/TextRecipient"
          type: array
        resumeNextDay:
          description: "~"
          type: boolean
        schedules:
          description: "~"
          items:
            $ref: "#/components/schemas/Schedule"
          type: array
        status:
          description: A status of a broadcast. SETUP - campaign isn't configured yet; START_PENDING - waiting for contact batch population; RUNNING - campaign is running; STOPPED - campaign is stopped; FINISHED - campaign is finished; ARCHIVED - campaign was archived
          enum:
            - TEST
            - SETUP
            - START_PENDING
            - RUNNING
            - SCHEDULED
            - STOPPED
            - SUSPENDED
            - FINISHED
            - ARCHIVED
            - VALIDATING_START
            - VALIDATING_EMAIL
            - BLOCKED_SUSPICIOUS
            - DECLINED
            - APPROVED
          readOnly: true
          type: string
      type: object
    TextBroadcastCreateResponse:
      description: "~"
      properties:
        id:
          description: "~"
          format: int64
          type: integer
      type: object
    TextBroadcastPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/TextBroadcast"
              type: array
          type: object
      description: "~"
    TextBroadcastStatsDto:
      description: "~"
      properties:
        billedAmount:
          description: "~"
          type: number
        doNotTextCount:
          description: "~"
          format: int32
          type: integer
        errorCount:
          description: "~"
          format: int32
          type: integer
        recievedCount:
          description: "~"
          format: int32
          type: integer
        remainingOutboundCount:
          description: "~"
          format: int32
          type: integer
        sentCount:
          description: "~"
          format: int32
          type: integer
        tooBigCount:
          description: "~"
          format: int32
          type: integer
        totalOutboundCount:
          description: "~"
          format: int32
          type: integer
        unsentCount:
          description: "~"
          format: int32
          type: integer
      type: object
    TextInboundConfig:
      description: "~"
      properties:
        forwardEnabled:
          description: "~"
          type: boolean
        forwardNumber:
          description: "~"
          type: string
      type: object
    TextList:
      allOf:
        - $ref: "#/components/schemas/ItemList"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Text"
              type: array
          type: object
      description: "~"
    TextPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Text"
              type: array
          type: object
      description: "~"
    TextRecipient:
      description: A recipient of a text message. You should provide either phone number or contact id of existing contact
      properties:
        attributes:
          additionalProperties:
            type: string
          description: A map of string attributes associated with a recipient
          type: object
        contactId:
          description: An id of existing contact in account
          format: int64
          type: integer
        fromNumber:
          description: "~"
          type: string
        media:
          description: A list of media objects' ids associated with a text message
          items:
            $ref: "#/components/schemas/Media"
          type: array
        message:
          description: A text message
          type: string
        phoneNumber:
          description: "Phone number in E.164 format (11-digit) or short code. Example: 12132000384, 67076"
          type: string
      type: object
    TextRecord:
      description: Represents a text message sent to a contact's number
      properties:
        billedAmount:
          description: A cost of a sent text
          format: float
          readOnly: true
          type: number
        callerName:
          description: "~"
          readOnly: true
          type: string
        finishTime:
          description: "A time when the given resource was updated, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          readOnly: true
          type: integer
        id:
          description: An id of a text record
          format: int64
          type: integer
        labels:
          description: Labels associated with a text action
          items:
            type: string
          readOnly: true
          type: array
          uniqueItems: true
        message:
          description: A text message
          type: string
        switchId:
          description: "~"
          readOnly: true
          type: string
        textResult:
          description: Result of a text (SENT, RECEIVED, DNT, TOO_BIG, INTERNAL_ERROR, CARRIER_ERROR, CARRIER_TEMP_ERROR, UNDIALED). See [call states and results](https://developers.callfire.com/results-responses-errors.html)
          enum:
            - SENT
            - RECEIVED
            - DNT
            - TOO_BIG
            - INTERNAL_ERROR
            - CARRIER_ERROR
            - CARRIER_TEMP_ERROR
            - UNDIALED
            - INVALID_NUMBER
          type: string
        toNumber:
          description: An attempted phone number
          readOnly: true
          type: string
      type: object
    TextToSpeech:
      description: Request object is used to create a sound from provided text using text to speech engine
      properties:
        message:
          description: A text to be turned into sound
          type: string
        voice:
          description: "A voice to be used. Available values: MALE1, FEMALE1 , FEMALE2, SPANISH1, FRENCHCANADIAN1"
          enum:
            - MALE1
            - FEMALE1
            - FEMALE2
            - SPANISH1
            - FRENCHCANADIAN1
          type: string
      type: object
    TimeZone:
      description: "~"
      properties:
        displayName:
          description: "~"
          type: string
        dstsavings:
          description: "~"
          format: int32
          type: integer
        id:
          description: "~"
          type: string
        rawOffset:
          description: "~"
          format: int32
          type: integer
      type: object
    UniversalDoNotContact:
      description: Represents a Universal (platform-wide) Do-Not-Contact object for a given phone number. Shows whether inbound/outbound actions are allowed for a given number.
      properties:
        fromNumber:
          description: "Optional source number in E.164 format (11-digit). Example: 12132000384"
          type: string
        inboundCall:
          description: If toNumber can receive calls or If toNumber can call fromNumber.
          type: boolean
        inboundText:
          description: If toNumber can receive texts or If toNumber can text fromNumber.
          type: boolean
        outboundCall:
          description: If toNumber can send calls or If fromNumber can call toNumber.
          type: boolean
        outboundText:
          description: If toNumber can send texts or If fromNumber can text toNumber.
          type: boolean
        toNumber:
          description: "destination DNC number in E.164 format (11-digit). Example: 12132000384"
          type: string
      type: object
    UpdateContactListRequest:
      description: A request object which is used to update a contact list
      properties:
        name:
          description: A name of a contact list
          type: string
      type: object
    User:
      description: "~"
      properties:
        account:
          $ref: "#/components/schemas/Account"
        accountHolder:
          description: "~"
          type: boolean
        accountId:
          description: "~"
          format: int64
          type: integer
        active:
          description: "~"
          type: boolean
        apiPasswordLastFour:
          description: "~"
          type: string
        brand:
          description: "~"
          enum:
            - EZTEXTING
            - CLUBTEXTING
            - GROUPTEXTING
            - TELLMYCELL
            - EZ
            - CALLFIRE
            - TESLA
          type: string
        cccAgent:
          description: "~"
          type: boolean
        created:
          description: "~"
          format: date-time
          type: string
        dateOfBirth:
          description: "~"
          format: date-time
          type: string
        disabled:
          description: "~"
          type: boolean
        firstName:
          description: "~"
          type: string
        fullName:
          description: "~"
          type: string
        id:
          description: "~"
          format: int64
          type: integer
        industryName:
          description: "~"
          type: string
        lastName:
          description: "~"
          type: string
        musicOnHold:
          description: "~"
          enum:
            - DEFAULT
            - SILENCE
            - ALTERNATIVE
            - BLUES
            - CELTIC
            - CLASSICAL
            - COUNTRY
            - INSTRUMENTAL
            - JAZZ
            - NEOPUNK
            - NEW_AGE
            - POP
            - ROCK
            - SWING
            - TECHNO
          type: string
        notificationSoundEnabled:
          description: "~"
          type: boolean
        optIn:
          description: "~"
          type: boolean
        optInNumber:
          description: "~"
          type: string
        permissions:
          description: "~"
          items:
            type: string
          type: array
          uniqueItems: true
        phoneNumber:
          description: "~"
          type: string
        phoneNumberExtension:
          description: "~"
          type: string
        phoneNumberExtensionDelaySec:
          description: "~"
          format: int32
          type: integer
        phoneNumberForDisplay:
          description: "~"
          type: string
        phoneNumberVerified:
          description: "~"
          type: boolean
        profileEmail:
          description: "~"
          type: string
        signupComplete:
          description: "~"
          type: boolean
        soaUser:
          $ref: "#/components/schemas/User"
        teamSeat:
          description: "~"
          type: boolean
        userState:
          description: "~"
          enum:
            - ACTIVE
            - NEW_AUTH_INVITE
            - NEW_USER_INVITE
            - EXISTING_USER_INVITE
          type: string
        userStatePending:
          description: "~"
          type: boolean
        visible:
          description: "~"
          type: boolean
      type: object
    UserController:
      description: "~"
      type: object
    Webhook:
      description: Webhook is a user-defined callback, which can be maintained via API. CallFire will send POST request to a client's endpoint defined in webhook once one of assigned events is triggered. See [webhooks guide](https://developers.callfire.com/webhooks-guide.html) for more information about CallFire Webhooks API.
      properties:
        callback:
          description: URL that webhook will send POST to on resource event trigger
          type: string
        createdAt:
          description: "A time when the given resource was created, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          readOnly: true
          type: integer
        enabled:
          description: A parameter which allows the webhook to send requests to unknown ssl endpoints (ssl certificate verification is disabled)
          type: boolean
        events:
          description: "Comma separated list of events on resource that will trigger callbacks (ex: STARTED, STOPPED, FINISHED, etc...). "
          items:
            type: string
          type: array
          uniqueItems: true
        expiresAt:
          description: "~"
          format: int64
          type: integer
        fields:
          description: A limit callback response to a particular fields
          type: string
        id:
          description: An id of a webhook
          format: int64
          type: integer
        name:
          description: A name of a webhook
          type: string
        nonStrictSsl:
          description: A parameter which allows the webhook to send requests to unknown ssl endpoints (ssl certificate verification is disabled)
          type: boolean
        resource:
          description: "A resource name that webhook is watching events on. Use GET /webhooks/resources to determine resources and events available (ex: InboundCall, OutboundCall, InboundText, OutboundText, CallBroadcast, TextBroadcast, etc...)"
          type: string
        secret:
          description: Webhook secret token which is used as a signing key to HmacSHA1 hash of json payload which is returned in 'X-CallFire-Signature' header. This header can be used to verify callback POST is coming from CallFire. See [security guide](https://developers.callfire.com/security-guide.html)
          type: string
        singleUse:
          description: If true is set then webhook triggers only once. Afterwards the webhook will be deleted
          type: boolean
        updatedAt:
          description: "A time when the given resource was updated, formatted in unix time milliseconds (read only). Example: 1473781817000"
          format: int64
          readOnly: true
          type: integer
      type: object
    WebhookPage:
      allOf:
        - $ref: "#/components/schemas/Page"
        - properties:
            items:
              items:
                $ref: "#/components/schemas/Webhook"
              type: array
          type: object
      description: "~"
    WebhookResource:
      description: WebhookResource describes a resource and a list of supported events, once event is triggered CallFire performs an HTTP POST request to a client's endpoint
      properties:
        resource:
          description: "A name of a webhook resource (ex: InboundCall, OutboundCall, InboundText, OutboundText, CallBroadcast, TextBroadcast, etc...)"
          type: string
        supportedEvents:
          description: "A list of event names which are supported by webhook resource (ex: Started, Stopped, Finished, etc.)"
          items:
            type: string
          type: array
          uniqueItems: true
      type: object
    WeeklySchedule:
      description: Weekly schedule allows to schedule operations by day of week and time of the day
      properties:
        daysOfWeek:
          description: A scheduled days when operation will trigger
          items:
            type: string
          type: array
          uniqueItems: true
        startTimeOfDay:
          $ref: "#/components/schemas/LocalTime"
        stopTimeOfDay:
          $ref: "#/components/schemas/LocalTime"
        timeZone:
          description: A user's timezone
          type: string
      type: object
    ZoneId:
      description: "~"
      properties:
        id:
          description: "~"
          type: string
        rules:
          $ref: "#/components/schemas/ZoneRules"
      type: object
    ZoneOffset:
      description: "~"
      properties:
        id:
          description: "~"
          type: string
        rules:
          $ref: "#/components/schemas/ZoneRules"
        totalSeconds:
          description: "~"
          format: int32
          type: integer
      type: object
    ZoneOffsetTransition:
      description: "~"
      properties:
        dateTimeAfter:
          description: "~"
          format: date-time
          type: string
        dateTimeBefore:
          description: "~"
          format: date-time
          type: string
        duration:
          $ref: "#/components/schemas/Duration"
        gap:
          description: "~"
          type: boolean
        instant:
          description: "~"
          format: int64
          type: integer
        offsetAfter:
          $ref: "#/components/schemas/ZoneOffset"
        offsetBefore:
          $ref: "#/components/schemas/ZoneOffset"
        overlap:
          description: "~"
          type: boolean
      type: object
    ZoneOffsetTransitionRule:
      description: "~"
      properties:
        dayOfMonthIndicator:
          description: "~"
          format: int32
          type: integer
        dayOfWeek:
          description: "~"
          enum:
            - MONDAY
            - TUESDAY
            - WEDNESDAY
            - THURSDAY
            - FRIDAY
            - SATURDAY
            - SUNDAY
          type: string
        localTime:
          $ref: "#/components/schemas/LocalTime"
        midnightEndOfDay:
          description: "~"
          type: boolean
        month:
          description: "~"
          enum:
            - JANUARY
            - FEBRUARY
            - MARCH
            - APRIL
            - MAY
            - JUNE
            - JULY
            - AUGUST
            - SEPTEMBER
            - OCTOBER
            - NOVEMBER
            - DECEMBER
          type: string
        offsetAfter:
          $ref: "#/components/schemas/ZoneOffset"
        offsetBefore:
          $ref: "#/components/schemas/ZoneOffset"
        standardOffset:
          $ref: "#/components/schemas/ZoneOffset"
        timeDefinition:
          description: "~"
          enum:
            - UTC
            - WALL
            - STANDARD
          type: string
      type: object
    ZoneRules:
      description: "~"
      properties:
        fixedOffset:
          description: "~"
          type: boolean
        transitionRules:
          description: "~"
          items:
            $ref: "#/components/schemas/ZoneOffsetTransitionRule"
          type: array
        transitions:
          description: "~"
          items:
            $ref: "#/components/schemas/ZoneOffsetTransition"
          type: array
      type: object
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http
x-sample-basepath: https://raw.githubusercontent.com/CallFire/callfire-api-samples/master/2.0
