consumes:
    - application/json
produces:
    - application/json
schemes:
    - http
swagger: "2.0"
info:
    version: 0.3.4
    description: Customer Information Microservice
    title: crm
    termsOfService: https://salesforcedevops.net/terms/
    contact:
        email: vern@vernonkeenan.com
    license:
        name: Proprietary - Copyright (c) 2018-2024 by Vernon Keenan
host: crm.vernonkeenan.com:8080
basePath: /v1
paths:
    /contacts:
        get:
            tags:
                - Contacts
            summary: Get a list of contacts
            operationId: getContacts
            parameters:
                - in: query
                  type: integer
                  format: int64
                  description: How many objects to return at one time
                  name: limit
                - in: query
                  type: integer
                  format: int64
                  description: How many objects to skip?
                  name: offset
                - type: string
                  description: Contact record ID
                  name: contactId
                  in: query
                - name: active
                  in: query
                  type: boolean
                  description: Only retrieve active records?
                - in: query
                  type: string
                  description: The Slug of this Object
                  name: slug
                - type: string
                  description: Email address used for identity lookup
                  name: email
                  in: query
            responses:
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with an array of Contact objects
                    schema:
                        $ref: '#/definitions/ContactResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Return a list of all available Contacts
        put:
            description: Update Contact records
            tags:
                - Contacts
            summary: Update Contact
            operationId: putContacts
            parameters:
                - description: An array of new Contact records
                  name: contactsRequest
                  in: body
                  required: true
                  schema:
                    $ref: '#/definitions/ContactRequest'
            responses:
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with an array of Contact objects
                    schema:
                        $ref: '#/definitions/ContactResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access unauthorized, invalid API-KEY was used
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
        post:
            tags:
                - Contacts
            summary: Add new contacts
            operationId: postContacts
            parameters:
                - required: true
                  schema:
                    $ref: '#/definitions/ContactRequest'
                  description: An array of new Contact records
                  name: contactsRequest
                  in: body
            responses:
                "200":
                    description: Response with an array of Contact objects
                    schema:
                        $ref: '#/definitions/ContactResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Contact record to be added
        delete:
            responses:
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with Message Objects with Delete Status
                    schema:
                        $ref: '#/definitions/DeleteResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Delete SalesforceDevops.net Contact record
            tags:
                - Contacts
            summary: Delete a Contact
            operationId: deleteContact
            parameters:
                - type: string
                  description: Contact record ID
                  name: contactId
                  in: query
    /contracts:
        put:
            parameters:
                - in: body
                  required: true
                  schema:
                    $ref: '#/definitions/ContractRequest'
                  description: An array of new Contract records
                  name: contractsRequest
            responses:
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with an array of Contract objects
                    schema:
                        $ref: '#/definitions/ContractResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Update a single contract specified by contractId
            tags:
                - Contracts
            summary: Update a single contract
            operationId: putContract
        post:
            operationId: postContracts
            parameters:
                - description: An array of new Contract records
                  name: contractsRequest
                  in: body
                  required: true
                  schema:
                    $ref: '#/definitions/ContractRequest'
            responses:
                "200":
                    description: Response with an array of Contract objects
                    schema:
                        $ref: '#/definitions/ContractResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Server Internal Error
            security:
                - ApiKeyAuth: []
            description: Contract record to be added
            tags:
                - Contracts
            summary: Add a new contract to SalesforceDevops.net
        delete:
            tags:
                - Contracts
            summary: Delete An Contract
            operationId: deleteContract
            parameters:
                - type: string
                  description: Contact record ID
                  name: contractId
                  in: query
            responses:
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                "200":
                    description: Response with Message Objects with Delete Status
                    schema:
                        $ref: '#/definitions/DeleteResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "401":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
            security:
                - ApiKeyAuth: []
            description: Delete SalesforceDevops.net Contract record
        get:
            parameters:
                - name: limit
                  in: query
                  type: integer
                  format: int64
                  description: How many objects to return at one time
                - in: query
                  type: integer
                  format: int64
                  description: How many objects to skip?
                  name: offset
                - description: Only retrieve active records?
                  name: active
                  in: query
                  type: boolean
                - type: string
                  description: Contact record ID
                  name: contractId
                  in: query
            responses:
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                "200":
                    description: Response with an array of Contract objects
                    schema:
                        $ref: '#/definitions/ContractResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access unauthorized, invalid API-KEY was used
                "403":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Return a list of all available Contracts
            tags:
                - Contracts
            summary: Get a list of contracts
            operationId: getContracts
    /leads:
        get:
            tags:
                - Leads
            summary: Get a list of contacts
            operationId: getLeads
            parameters:
                - description: How many objects to return at one time
                  name: limit
                  in: query
                  type: integer
                  format: int64
                - format: int64
                  description: How many objects to skip?
                  name: offset
                  in: query
                  type: integer
                - type: string
                  description: Lead record ID
                  name: leadId
                  in: query
                - name: email
                  in: query
                  type: string
                  description: Email address used for identity lookup
                - type: string
                  description: The Name of this Object
                  name: name
                  in: query
            responses:
                "200":
                    description: Response with an array of Lead objects
                    schema:
                        $ref: '#/definitions/LeadResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Return a list of all available Leads
        put:
            parameters:
                - schema:
                    $ref: '#/definitions/LeadRequest'
                  description: An array of new Lead records
                  name: leadRequest
                  in: body
                  required: true
            responses:
                "404":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with an array of Lead objects
                    schema:
                        $ref: '#/definitions/LeadResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
            security:
                - ApiKeyAuth: []
            description: Update Lead records
            tags:
                - Leads
            summary: Update Leads
            operationId: putLeads
        post:
            tags:
                - Leads
            summary: Add new Leads
            operationId: postLeads
            parameters:
                - required: true
                  schema:
                    $ref: '#/definitions/LeadRequest'
                  description: An array of new Lead records
                  name: leadRequest
                  in: body
            responses:
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with an array of Lead objects
                    schema:
                        $ref: '#/definitions/LeadResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Lead records to be added
        delete:
            security:
                - ApiKeyAuth: []
            description: Delete SalesforceDevops.net Lead record
            tags:
                - Leads
            summary: Delete a Contact
            operationId: deleteLead
            parameters:
                - type: string
                  description: Lead record ID
                  name: leadId
                  in: query
            responses:
                "200":
                    description: Response with Message Objects with Delete Status
                    schema:
                        $ref: '#/definitions/DeleteResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
    /accounts:
        get:
            operationId: getAccounts
            parameters:
                - type: integer
                  format: int64
                  description: How many objects to return at one time
                  name: limit
                  in: query
                - in: query
                  type: string
                  description: The Name of this Object
                  name: name
                - type: integer
                  format: int64
                  description: How many objects to skip?
                  name: offset
                  in: query
                - description: Only retrieve active records?
                  name: active
                  in: query
                  type: boolean
                - name: accountId
                  in: query
                  type: string
                  description: Record Id of an Account
                - description: The Slug of this Object
                  name: slug
                  in: query
                  type: string
            responses:
                "500":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                "200":
                    description: Response with Account objects with Contacts
                    schema:
                        $ref: '#/definitions/AccountResponse'
                    headers:
                        Cache-Control:
                            type: string
                        Access-Control-Allow-Origin:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Return a list of all available Accounts
            tags:
                - Accounts
            summary: Get a list of accounts
        put:
            parameters:
                - name: accountRequest
                  in: body
                  required: true
                  schema:
                    $ref: '#/definitions/AccountRequest'
                  description: An array of new Account records
            responses:
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                "200":
                    description: Response with Account objects with Contacts
                    schema:
                        $ref: '#/definitions/AccountResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Update one or more accounts
            tags:
                - Accounts
            summary: Update a single account
            operationId: putAccounts
        post:
            responses:
                "401":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                "403":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access forbidden, account lacks access
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    schema:
                        $ref: '#/definitions/AccountResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                    description: Response with Account objects with Contacts
            security:
                - ApiKeyAuth: []
            description: Account record to be added
            tags:
                - Accounts
            summary: Add a new account to SalesforceDevops.net
            operationId: postAccounts
            parameters:
                - in: body
                  required: true
                  schema:
                    $ref: '#/definitions/AccountRequest'
                  description: An array of new Account records
                  name: accountRequest
        delete:
            responses:
                "200":
                    description: Response with Message Objects with Delete Status
                    schema:
                        $ref: '#/definitions/DeleteResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "401":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access unauthorized, invalid API-KEY was used
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Delete SalesforceDevops.net Account record
            tags:
                - Accounts
            summary: Delete An Account
            operationId: deleteAccount
            parameters:
                - type: string
                  description: Record Id of an Account
                  name: accountId
                  in: query
    /assets:
        put:
            security:
                - ApiKeyAuth: []
            description: Update a single asset specified by assetId
            tags:
                - Assets
            summary: Update a single asset
            operationId: putAsset
            parameters:
                - required: true
                  schema:
                    $ref: '#/definitions/AssetRequest'
                  description: An array of new Asset records
                  name: assetRequest
                  in: body
            responses:
                "200":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                    description: Response with Asset objects with Contacts
                    schema:
                        $ref: '#/definitions/AssetResponse'
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                "500":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Server Internal Error
        post:
            operationId: postAssets
            parameters:
                - description: An array of new Asset records
                  name: assetRequest
                  in: body
                  required: true
                  schema:
                    $ref: '#/definitions/AssetRequest'
            responses:
                "422":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Unprocessable Entity, likely a bad parameter
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with Asset objects with Contacts
                    schema:
                        $ref: '#/definitions/AssetResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Access forbidden, account lacks access
                "404":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
            security:
                - ApiKeyAuth: []
            description: Asset record to be added
            tags:
                - Assets
            summary: Add a new asset to SalesforceDevops.net
        delete:
            description: Delete SalesforceDevops.net Asset record
            tags:
                - Assets
            summary: Delete An Asset
            operationId: deleteAsset
            parameters:
                - name: assetId
                  in: query
                  type: string
                  description: Record Id of an Asset
            responses:
                "200":
                    description: Response with Message Objects with Delete Status
                    schema:
                        $ref: '#/definitions/DeleteResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "404":
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
        get:
            tags:
                - Assets
            summary: Get a list of assets
            operationId: getAssets
            parameters:
                - type: integer
                  format: int64
                  description: How many objects to return at one time
                  name: limit
                  in: query
                - description: How many objects to skip?
                  name: offset
                  in: query
                  type: integer
                  format: int64
                - in: query
                  type: string
                  description: Record Id of an Account
                  name: accountId
                - type: string
                  description: Record Id of an Asset
                  name: assetId
                  in: query
            responses:
                "404":
                    description: Resource was not found
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "422":
                    description: Unprocessable Entity, likely a bad parameter
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "500":
                    description: Server Internal Error
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "200":
                    description: Response with Asset objects with Contacts
                    schema:
                        $ref: '#/definitions/AssetResponse'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                        Cache-Control:
                            type: string
                "401":
                    description: Access unauthorized, invalid API-KEY was used
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
                "403":
                    description: Access forbidden, account lacks access
                    schema:
                        $ref: '#/definitions/Error'
                    headers:
                        Access-Control-Allow-Origin:
                            type: string
            security:
                - ApiKeyAuth: []
            description: Return a list of all available Assets
definitions:
    AssetResponse:
        description: An array of Asset objects with Contacts
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/asset'
            Meta:
                $ref: '#/definitions/responseMeta'
    ContactResponse:
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/contact'
            Meta:
                $ref: '#/definitions/responseMeta'
    DeleteResponse:
        type: object
        properties:
            Meta:
                $ref: '#/definitions/responseMeta'
            Data:
                type: array
                items:
                    $ref: '#/definitions/Message'
    InvalidError:
        allOf:
            - $ref: '#/definitions/Error'
            - type: object
              properties:
                details:
                    type: array
                    items:
                        type: string
    LeadRequest:
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/lead'
    Message:
        properties:
            message:
                type: string
            ref:
                type: string
            status:
                type: number
                format: int64
        type: object
    address:
        type: object
        properties:
            StateCode:
                description: State Code
                type: string
                x-nullable: true
            Street:
                type: string
                x-nullable: true
                description: Street number and name
            City:
                description: City
                type: string
                x-nullable: true
            Country:
                description: Country full name
                type: string
                x-nullable: true
            CountryCode:
                description: Country Code
                type: string
                x-nullable: true
            PostalCode:
                description: Postal Code
                type: string
                x-nullable: true
            State:
                description: State full name
                type: string
                x-nullable: true
    AccountResponse:
        properties:
            Meta:
                $ref: '#/definitions/responseMeta'
            Data:
                items:
                    $ref: '#/definitions/account'
                type: array
        description: An array of Account objects with Contacts
        type: object
    ContactRequest:
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/contact'
    ContractResponse:
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/contract'
            Meta:
                $ref: '#/definitions/responseMeta'
    LeadResponse:
        properties:
            Meta:
                $ref: '#/definitions/responseMeta'
            Data:
                type: array
                items:
                    $ref: '#/definitions/lead'
        type: object
    lead:
        type: object
        properties:
            CreatedByID:
                description: Created By User ID
                type: string
                x-nullable: true
            Email:
                description: Email
                type: string
                x-nullable: true
            FirstName:
                description: First Name
                type: string
                x-nullable: true
            UTMSource:
                description: utm_source
                type: string
                x-nullable: true
            Name:
                description: Name
                type: string
                x-nullable: true
            Phone:
                description: Phone
                type: string
                x-nullable: true
            Company:
                description: Company
                type: string
                x-nullable: true
            LastModifiedDate:
                description: Last Modified Date
                type: string
                x-nullable: true
            LastName:
                type: string
                x-nullable: true
                description: Last Name
            OwnerId:
                description: LeadBasic Owner
                type: string
                x-nullable: true
            Status:
                type: string
                x-nullable: true
                description: LeadBasic Status
            ProductID:
                description: Product
                type: string
                x-nullable: true
            UTMMedium:
                description: utm_medium
                type: string
                x-nullable: true
            UTMTerm:
                x-nullable: true
                description: utm_term
                type: string
            Address:
                $ref: '#/definitions/address'
            CreatedDate:
                description: Created Date
                type: string
                x-nullable: true
            MobilePhone:
                description: Mobile
                type: string
                x-nullable: true
            Type:
                description: Type
                type: string
                x-nullable: true
            UTMCampaign:
                description: utm_campaign
                type: string
                x-nullable: true
            UTMContent:
                x-nullable: true
                description: utm_content
                type: string
            Description:
                description: Description
                type: string
                x-nullable: true
            PartnerAccountId:
                description: Partner Account
                type: string
                x-nullable: true
            RefererURL:
                type: string
                x-nullable: true
                description: referer_url
            TenantID:
                type: string
                x-nullable: true
                description: Tenant Identifier
            Title:
                x-nullable: true
                description: Title
                type: string
            ID:
                description: Record Id
                type: string
            LastModifiedByID:
                x-nullable: true
                description: Last Modified By User ID
                type: string
            Website:
                description: Website
                type: string
                x-nullable: true
    AccountRequest:
        description: An array of Account objects with Contacts
        type: object
        properties:
            Data:
                items:
                    $ref: '#/definitions/account'
                type: array
    ContractRequest:
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/contract'
    Error:
        type: object
        properties:
            Code:
                format: int64
                type: integer
            Fields:
                type: string
            Message:
                type: string
    RequestMeta:
        properties:
            ExternalAccount:
                description: Account Number of the Reseller or OEM
                type: string
        type: object
        required:
            - ExternalAccount
    asset:
        properties:
            ProductFamily:
                description: Product Family
                type: string
                x-nullable: true
            TenantID:
                description: Tenant ID
                type: string
                x-nullable: true
            AccountID:
                description: Account
                type: string
                x-nullable: true
            AssetServicedByID:
                description: Asset Serviced By
                type: string
                x-nullable: true
            CompanyProductID:
                x-nullable: true
                description: Company Product
                type: string
            ContactID:
                description: Contact
                type: string
                x-nullable: true
            MIMEType:
                description: MIME Type
                type: string
                x-nullable: true
            CurrentAmount:
                description: Current Amount
                type: number
                x-nullable: true
            ParentID:
                x-nullable: true
                description: Parent Asset
                type: string
            SerialNumber:
                type: string
                x-nullable: true
                description: Serial Number
            Type:
                description: Type
                type: string
                x-nullable: true
            StockKeepingUnit:
                description: Product SKU
                type: string
                x-nullable: true
            CreatedDate:
                description: Created Date
                type: string
                x-nullable: true
            Description:
                description: Description
                type: string
                x-nullable: true
            InstallDate:
                description: Install Date
                type: string
                x-nullable: true
            ProductCode:
                description: Product Code
                type: string
                x-nullable: true
            PurchaseDate:
                description: Purchase Date
                type: string
                x-nullable: true
            ConsequenceOfFailure:
                description: Consequence Of Failure
                type: string
                x-nullable: true
            Price:
                description: Price
                type: number
                x-nullable: true
            RootAssetID:
                description: Root Asset
                type: string
                x-nullable: true
            ID:
                description: Record Id
                type: string
            IsCompetitorProduct:
                description: Competitor Asset
                type: boolean
                x-nullable: true
            LastModifiedByID:
                description: Last Modified By
                type: string
                x-nullable: true
            Address:
                $ref: '#/definitions/address'
            AssetProvidedByID:
                x-nullable: true
                description: Asset Provided By
                type: string
            CurrentQuantity:
                description: Current Quantity
                type: number
                x-nullable: true
            ExternalIdentifier:
                description: External Id
                type: string
                x-nullable: true
            HasLifecycleManagement:
                description: Has Lifecycle Management
                type: boolean
                x-nullable: true
            LastModifiedDate:
                description: Last Modified Date
                type: string
                x-nullable: true
            Name:
                description: Asset Name
                type: string
                x-nullable: true
            Quantity:
                description: Quantity
                type: number
                x-nullable: true
            URL:
                description: URL
                type: string
                x-nullable: true
            CurrentLifecycleEndDate:
                description: Current Lifecycle End Date
                type: string
                x-nullable: true
            CurrentMrr:
                description: Current Monthly Recurring Revenue
                type: number
                x-nullable: true
            ProductDescription:
                description: Product Description
                type: string
                x-nullable: true
            TotalLifecycleAmount:
                description: Total Lifecycle Amount
                type: number
                x-nullable: true
            AssetLevel:
                description: Asset Level
                type: number
                x-nullable: true
            CreatedByID:
                description: Created By
                type: string
                x-nullable: true
            DigitalAssetStatus:
                type: string
                x-nullable: true
                description: Digital Asset Status
            ManufactureDate:
                description: Manufacture Date
                type: string
                x-nullable: true
            Product2ID:
                type: string
                x-nullable: true
                description: Product
            IsInternal:
                description: Internal Asset
                type: boolean
                x-nullable: true
            LocationID:
                description: Location
                type: string
                x-nullable: true
            Status:
                description: Status
                type: string
                x-nullable: true
            StatusReason:
                description: Status Reason
                type: string
                x-nullable: true
            UsageEndDate:
                x-nullable: true
                description: Usage End Date
                type: string
        type: object
    contact:
        type: object
        properties:
            LastName:
                description: Last Name
                type: string
                x-nullable: true
            AssistantName:
                description: Assistant Name
                type: string
                x-nullable: true
            CreatedByID:
                description: Created By User ID
                type: string
                x-nullable: true
            Department:
                x-nullable: true
                description: Department
                type: string
            LeadSource:
                description: Lead Source
                type: string
                x-nullable: true
            OwnerID:
                description: The User ID of the user who owns this Contact
                type: string
                x-nullable: true
            Title:
                description: Contact Title
                type: string
                x-nullable: true
            Description:
                description: Description
                type: string
                x-nullable: true
            EmailBounceDate:
                description: Email Bounce Date
                type: string
                x-nullable: true
            EmailBouncedReason:
                x-nullable: true
                description: Email Bounce Reason
                type: string
            IsEmailBounced:
                type: boolean
                x-nullable: true
                description: Does this contact have bounced emails?
            LinkedIn:
                type: string
                x-nullable: true
                description: LinkedIn Page
            OtherPhone:
                description: Other Phone
                type: string
                x-nullable: true
            AccountID:
                description: The primary account ID of this contact
                type: string
                x-nullable: true
            Channels:
                description: Channels
                type: string
                x-nullable: true
            ID:
                description: Record Id
                type: string
            Phone:
                description: Phone Number
                type: string
                x-nullable: true
            Salutation:
                description: Salutation
                type: string
                x-nullable: true
            Twitter:
                description: Twitter URL
                type: string
                x-nullable: true
            AssistantPhone:
                description: Asst. Phone
                type: string
                x-nullable: true
            HasOptedOutOfFax:
                description: Fax Opt Out
                type: boolean
                x-nullable: true
            HomePhone:
                description: Home Phone
                type: string
                x-nullable: true
            NumberInvestments:
                type: number
                x-nullable: true
            ReportsToID:
                description: Reports To
                type: string
                x-nullable: true
            Slug:
                description: Slug
                type: string
                x-nullable: true
            BirthDate:
                description: Birthdate
                type: string
                x-nullable: true
            CrunchbaseURL:
                type: string
                x-nullable: true
            Fax:
                description: Fax Number
                type: string
                x-nullable: true
            MobilePhone:
                description: Mobile Phone
                type: string
                x-nullable: true
            Name:
                description: Full Name
                type: string
                x-nullable: true
            TenantID:
                x-nullable: true
                description: Tenant Identifier
                type: string
            Facebook:
                description: Facebook Page
                type: string
                x-nullable: true
            FirstName:
                type: string
                x-nullable: true
                description: First Name
            LastModifiedByID:
                description: Last Modified By User ID
                type: string
                x-nullable: true
            MailingAddress:
                $ref: '#/definitions/address'
            PersonalEmail:
                type: string
                x-nullable: true
                description: Personal Email Address for this Contact
            DoNotCall:
                description: Do Not Call?
                type: boolean
                x-nullable: true
            HasOptedOutOfEmail:
                type: boolean
                x-nullable: true
                description: Email Opt Out
            LastModifiedDate:
                description: Last Modified Date
                type: string
                x-nullable: true
            PhotoURL:
                x-nullable: true
                description: URL of a photograph of this User
                type: string
            CreatedDate:
                description: Created Date
                type: string
                x-nullable: true
            Email:
                description: Email address
                type: string
                x-nullable: true
            OtherAddress:
                $ref: '#/definitions/address'
    contract:
        type: object
        properties:
            ShippingContactID:
                description: Shipping Contact
                type: string
                x-nullable: true
            TenantID:
                description: Tenant Identifier
                type: string
                x-nullable: true
            CustomerSignedTitle:
                description: Customer Signed Title
                type: string
                x-nullable: true
            Description:
                description: Description
                type: string
                x-nullable: true
            EndDate:
                description: Contract End Date
                type: string
                x-nullable: true
            HourlyRate:
                x-nullable: true
                description: Hourly Rate
                type: number
            ShippingAddress:
                $ref: '#/definitions/address'
            CreatedByID:
                x-nullable: true
                description: Created By User ID
                type: string
            Name:
                description: Contract Name
                type: string
                x-nullable: true
            PaymentTerms:
                description: Payment Terms
                type: string
                x-nullable: true
            Status:
                x-nullable: true
                description: Status
                type: string
            ActivatedDate:
                description: Activated Date
                type: string
                x-nullable: true
            StartDate:
                description: Contract Start Date
                type: string
                x-nullable: true
            BillingContactID:
                description: Billing Contact
                type: string
                x-nullable: true
            CompanySignedID:
                x-nullable: true
                description: Company Signed By
                type: string
            ContractNumber:
                type: string
                x-nullable: true
                description: Contract Number
            CustomerSignedID:
                description: Customer Signed By
                type: string
                x-nullable: true
            ContractTerm:
                type: number
                x-nullable: true
                description: Contract Term (months)
            EndUserID:
                description: End User
                type: string
                x-nullable: true
            AccountID:
                description: Account
                type: string
                x-nullable: true
            BillingAddress:
                $ref: '#/definitions/address'
            CreatedDate:
                description: Created Date
                type: string
                x-nullable: true
            DefaultEndUserID:
                description: End User
                type: string
                x-nullable: true
            ActivatedByID:
                description: Activated By
                type: string
                x-nullable: true
            ID:
                description: Record Id
                type: string
            LastModifiedByID:
                x-nullable: true
                description: Last Modified By User ID
                type: string
            PaymentMethodID:
                description: Payment Method
                type: string
                x-nullable: true
            Perpetual:
                type: boolean
                x-nullable: true
                description: Perpetual Agreement?
            CompanySignedDate:
                description: Company Signed Date
                type: string
                x-nullable: true
            CustomerSignedDate:
                description: Customer Signed Date
                type: string
                x-nullable: true
            LastModifiedDate:
                description: Last Modified Date
                type: string
                x-nullable: true
    AssetRequest:
        description: An array of Asset objects with Contacts
        type: object
        properties:
            Data:
                type: array
                items:
                    $ref: '#/definitions/asset'
    account:
        type: object
        properties:
            Ownership:
                type: string
                x-nullable: true
                description: Ownership
            TagLine:
                description: Company tagline
                type: string
                x-nullable: true
            Twitter:
                description: Twitter URL
                type: string
                x-nullable: true
            Active:
                type: boolean
                x-nullable: true
            BillingContactID:
                x-nullable: true
                description: Contact ID
                type: string
            CloudYear:
                description: The year company started cloud revenue
                type: string
                x-nullable: true
            CreatedByID:
                description: Created By User ID
                type: string
                x-nullable: true
            FullDescription:
                description: Full Description
                type: string
                x-nullable: true
            AccountNumber:
                type: string
                x-nullable: true
                description: Account Number
            EarningsCall:
                description: Earnings Call Date
                type: string
                x-nullable: true
            ImageURL:
                type: string
                x-nullable: true
            ShippingContactID:
                description: Shipping Contact ID
                type: string
                x-nullable: true
            Website:
                description: Website
                type: string
                x-nullable: true
            LinkedIn:
                description: Company LinkedIn URL
                type: string
                x-nullable: true
            Location:
                description: Headquarters Location Description
                type: string
                x-nullable: true
            SICDesc:
                description: SIC Description
                type: string
                x-nullable: true
            EquityFunding:
                description: The amount of equity EquityFunding
                type: number
                x-nullable: true
            Industries:
                description: Industries
                type: string
                x-nullable: true
            Publish:
                description: Publish this record?
                type: boolean
                x-nullable: true
            YearStarted:
                x-nullable: true
                description: Year Started
                type: string
            AppExchange:
                x-nullable: true
                description: Salesforce AppExchange URL
                type: string
            ClosedDate:
                description: Closed Date
                type: string
                x-nullable: true
            LastModifiedByID:
                description: Last Modified By User ID
                type: string
                x-nullable: true
            LastModifiedDate:
                description: Last Modified Date
                type: string
                x-nullable: true
            TenantID:
                description: Tenant Identifier
                type: string
                x-nullable: true
            Fax:
                description: Fax number
                type: string
                x-nullable: true
            Name:
                description: Account Name
                type: string
                x-nullable: true
            ParentID:
                description: Parent Account
                type: string
                x-nullable: true
            Channels:
                description: Channels
                type: string
                x-nullable: true
            ID:
                description: Account Id
                type: string
            CloudRevenueTotal:
                type: number
                x-nullable: true
            CrunchbaseURL:
                x-nullable: true
                description: Crunchbase URL
                type: string
            SIC:
                description: SIC Code
                type: string
                x-nullable: true
            Industry:
                type: string
                x-nullable: true
                description: Industry
            SalesforceFirst:
                description: A Salesforce-First company?
                type: boolean
                x-nullable: true
            MarketCapitalization:
                description: Market Capitalization
                type: number
                x-nullable: true
            Phone:
                description: Phone
                type: string
                x-nullable: true
            ShippingAddress:
                $ref: '#/definitions/address'
            BillingAddress:
                $ref: '#/definitions/address'
            CreatedDate:
                type: string
                x-nullable: true
                description: Created Date
            EIN:
                type: string
                x-nullable: true
            NumberInvestments:
                description: Number of Investments
                type: number
                x-nullable: true
            NumberOfEmployees:
                x-nullable: true
                description: Employee Count Estimate
                type: number
                format: int64
            TickerSymbol:
                description: Ticker Symbol
                type: string
                x-nullable: true
            Description:
                type: string
                x-nullable: true
                description: Description of the account
            ImageAltText:
                type: string
                x-nullable: true
            Logo:
                description: Company Logo URL
                type: string
                x-nullable: true
            OwnerID:
                description: Account Owner User ID
                type: string
                x-nullable: true
            Site:
                description: Account Site
                type: string
                x-nullable: true
            CloudType:
                description: The type of cloud company
                type: string
                x-nullable: true
            FoundedDate:
                description: Date company founded
                type: string
                x-nullable: true
            Slug:
                description: Slug
                type: string
                x-nullable: true
            AnnualRevenue:
                type: number
                format: double
                x-nullable: true
                description: Annual Revenue Estimate
            IPODate:
                description: IPO Date
                type: string
                x-nullable: true
            AccountSource:
                description: The marketing origin of this account
                type: string
                x-nullable: true
            Email:
                description: Main Account Email
                type: string
                x-nullable: true
            Facebook:
                type: string
                x-nullable: true
                description: Company Facebook URL
            Type:
                type: string
                x-nullable: true
                description: Type
    pagination:
        type: object
        properties:
            poffset:
                type: integer
                format: int64
            setsize:
                type: number
                format: int64
            limit:
                format: int64
                type: number
            pagesize:
                type: number
                format: int64
    responseMeta:
        type: object
        properties:
            RequestType:
                description: Request Type
                type: string
            RequestURL:
                description: Request URL
                type: string
            ServerInfo:
                description: Data Server Info
                type: string
            ServerResponseTime:
                description: Data Server Response Time (ms)
                type: string
            ServerTimestamp:
                description: Backend Server Timestamp
                type: string
            ExternalAccount:
                description: Account Number used for recording transactions
                type: string
            OperationID:
                description: Operation ID
                type: string
            RequestIP:
                description: Request IP Address
                type: string
            Pagination:
                $ref: '#/definitions/pagination'
            Contact:
                type: string
                description: Microservice Contact Info
            Copyright:
                type: string
                description: Copyright Info
            License:
                description: License Information and Restrictions
                type: string
parameters:
    limitQuery:
        type: integer
        format: int64
        description: How many objects to return at one time
        name: limit
        in: query
    typeQuery:
        type: string
        description: The Type of this Object
        name: type
        in: query
    accountIdQuery:
        in: query
        type: string
        description: Record Id of an Account
        name: accountId
    accountRequest:
        description: An array of new Account records
        name: accountRequest
        in: body
        required: true
        schema:
            $ref: '#/definitions/AccountRequest'
    assetIdQuery:
        type: string
        description: Record Id of an Asset
        name: assetId
        in: query
    leadIdQuery:
        description: Lead record ID
        name: leadId
        in: query
        type: string
    slugQuery:
        type: string
        description: The Slug of this Object
        name: slug
        in: query
    contactRequest:
        description: An array of new Contact records
        name: contactsRequest
        in: body
        required: true
        schema:
            $ref: '#/definitions/ContactRequest'
    contractRequest:
        in: body
        required: true
        schema:
            $ref: '#/definitions/ContractRequest'
        description: An array of new Contract records
        name: contractsRequest
    leadRequest:
        description: An array of new Lead records
        name: leadRequest
        in: body
        required: true
        schema:
            $ref: '#/definitions/LeadRequest'
    offsetQuery:
        description: How many objects to skip?
        name: offset
        in: query
        type: integer
        format: int64
    companyIdQuery:
        type: string
        description: Company record ID
        name: companyId
        in: query
    contractIdQuery:
        type: string
        description: Contact record ID
        name: contractId
        in: query
    nameQuery:
        type: string
        description: The Name of this Object
        name: name
        in: query
    activeQuery:
        type: boolean
        description: Only retrieve active records?
        name: active
        in: query
    assetRequest:
        in: body
        required: true
        schema:
            $ref: '#/definitions/AssetRequest'
        description: An array of new Asset records
        name: assetRequest
    contactIdQuery:
        type: string
        description: Contact record ID
        name: contactId
        in: query
    emailQuery:
        in: query
        type: string
        description: Email address used for identity lookup
        name: email
responses:
    AccessForbidden:
        description: Access forbidden, account lacks access
        schema:
            $ref: '#/definitions/Error'
        headers:
            Access-Control-Allow-Origin:
                type: string
    DeleteResponse:
        headers:
            Access-Control-Allow-Origin:
                type: string
        description: Response with Message Objects with Delete Status
        schema:
            $ref: '#/definitions/DeleteResponse'
    LeadResponse:
        headers:
            Cache-Control:
                type: string
            Access-Control-Allow-Origin:
                type: string
        description: Response with an array of Lead objects
        schema:
            $ref: '#/definitions/LeadResponse'
    NotFound:
        description: Resource was not found
        schema:
            $ref: '#/definitions/Error'
        headers:
            Access-Control-Allow-Origin:
                type: string
    ServerError:
        description: Server Internal Error
        schema:
            $ref: '#/definitions/Error'
        headers:
            Access-Control-Allow-Origin:
                type: string
    UnprocessableEntity:
        schema:
            $ref: '#/definitions/Error'
        headers:
            Access-Control-Allow-Origin:
                type: string
        description: Unprocessable Entity, likely a bad parameter
    AccountResponse:
        description: Response with Account objects with Contacts
        schema:
            $ref: '#/definitions/AccountResponse'
        headers:
            Access-Control-Allow-Origin:
                type: string
            Cache-Control:
                type: string
    AssetResponse:
        description: Response with Asset objects with Contacts
        schema:
            $ref: '#/definitions/AssetResponse'
        headers:
            Access-Control-Allow-Origin:
                type: string
            Cache-Control:
                type: string
    Conflict:
        description: Conflict
        schema:
            $ref: '#/definitions/Error'
        headers:
            Access-Control-Allow-Origin:
                type: string
    ContactResponse:
        schema:
            $ref: '#/definitions/ContactResponse'
        headers:
            Access-Control-Allow-Origin:
                type: string
            Cache-Control:
                type: string
        description: Response with an array of Contact objects
    ContractResponse:
        headers:
            Access-Control-Allow-Origin:
                type: string
            Cache-Control:
                type: string
        description: Response with an array of Contract objects
        schema:
            $ref: '#/definitions/ContractResponse'
    InvalidDataError:
        headers:
            Access-Control-Allow-Origin:
                type: string
        description: Invalid data was sent
        schema:
            $ref: '#/definitions/InvalidError'
    Unauthorized:
        description: Access unauthorized, invalid API-KEY was used
        schema:
            $ref: '#/definitions/Error'
        headers:
            Access-Control-Allow-Origin:
                type: string
securityDefinitions:
    ApiKeyAuth:
        type: apiKey
        name: X-API-Key
        in: header

