swagger: "2.0"
info:
  version: 1.3.0
  title: "geo"
  description: "Geographic Microservice"
  termsOfService: "http://taxnexus.net/terms/"
  contact:
    email: "noc@taxnexus.net"
  license:
    name: "Proprietary - Copyright (c) 2018-2021 by Taxnexus, Inc."
schemes:
  - "http"
basePath: "/v1"
host: "geo.fabric.tnxs.net:8080"
securityDefinitions:
  ApiKeyAuth:
    type: apiKey
    in: header
    name: X-API-Key
consumes:
  - "application/json"
produces:
  - "application/json"
parameters:
  activeQuery:
    description: Retrieve only active records?
    in: query
    name: active
    required: false
    type: boolean
  addressQuery:
    description: Postal Address URL encoded; partial addresses allowed
    in: query
    name: address
    required: false
    type: string
  placeNameQuery:
    description: Alternate City, ST format to backup addressQuery
    in: query
    name: placeName
    required: false
    type: string
  coordinateIdQuery:
    description: Taxnexus Record Id of a Coordinate
    in: query
    name: coordinateId
    required: false
    type: string
  coordinateRequestBody:
    description: An array of new Coordinate records
    in: body
    name: CoordinateRequest
    required: true
    schema:
      $ref: "#/definitions/CoordinateRequest"
  countryIdQuery:
    description: The ID of this Object
    in: query
    name: countryId
    required: false
    type: string
  countryCodeQuery:
    description: The Country abbreviation (2 char)
    in: query
    name: countryCode
    required: false
    type: string
  countryRequest:
    in: body
    name: countryRequest
    schema:
      $ref: "#/definitions/CountryRequest"
  countyIdQuery:
    description: The ID of this Object
    in: query
    name: countyId
    required: false
    type: string
  countyQuery:
    description: The County Name
    in: query
    name: county
    required: false
    type: string
  countyRequest:
    in: body
    name: countyRequest
    schema:
      $ref: "#/definitions/CountyRequest"
  dateQuery:
    description: Transaction date (defaults to current)
    in: query
    name: date
    required: false
    type: string
  domainIdQuery:
    description: Taxnexus Record Id of a Domain
    in: query
    name: domainId
    required: false
    type: string
  domainQuery:
    description: "The Tax Domain to rate (cannabis, sales or telecom)"
    in: query
    name: domain
    required: false
    type: string
  journalDateQueryRequired:
    description: Journal Entry Date (transaction date), required
    type: string
    in: query
    name: journalDate
    required: true
  domainRequest:
    in: body
    name: domainRequest
    schema:
      $ref: "#/definitions/DomainRequest"
  domainResponse:
    in: body
    name: domainResponse
    schema:
      $ref: "#/definitions/DomainResponse"
  idQuery:
    description: Taxnexus Id of the record to be retrieved
    in: query
    name: id
    required: false
    type: string
  taxnexusCodeIdQuery:
    description: Taxnexus Code ID
    type: string
    in: query
    name: taxnexusCodeId
  limitQuery:
    description: "How many objects to return at one time"
    format: int64
    in: query
    name: limit
    required: false
    type: integer
  nameQuery:
    description: The Name of this Object
    in: query
    name: name
    required: false
    type: string
  offsetQuery:
    description: How many objects to skip? (default 0)
    format: int64
    in: query
    name: offset
    required: false
    type: integer
  placeIdQuery:
    description: The ID of a Place record
    in: query
    name: placeId
    required: false
    type: string
  geocodeQuery:
    description: The Geocode of this Place record
    in: query
    name: geocode
    required: false
    type: string
  placeQuery:
    description: The City name (must be accompanied by State)
    in: query
    name: place
    required: false
    type: string
  placeRequest:
    description: The new Places request package
    in: body
    name: placeRequest
    schema:
      $ref: "#/definitions/PlaceRequest"
  refQuery:
    description: Source system reference
    in: query
    name: ref
    required: false
    type: string
  stateIDQuery:
    description: The ID of this Object
    in: query
    name: StateID
    required: false
    type: string
  stateQuery:
    description: The State or Province abbreviation (2 char)
    in: query
    name: state
    required: false
    type: string
  stateRequest:
    description: The new Places request package
    in: body
    name: stateRequest
    schema:
      $ref: "#/definitions/StateRequest"
  taxTypeIdQuery:
    description: Taxnexus Record Id of the Tax Type
    in: query
    name: taxTypeId
    required: false
    type: string
  taxTypeRequest:
    description: The new Places request package
    in: body
    name: taxTypeRequest
    schema:
      $ref: "#/definitions/TaxTypeRequest"
  taxnexusCodeRequest:
    description: The new Places request package
    in: body
    name: taxnexusCodeRequest
    schema:
      $ref: "#/definitions/TaxnexusCodeRequest"
  taxnexuscodeIdQuery:
    description: Taxnexus Record Id of a Taxnexus Code
    in: query
    name: taxnexuscodeId
    required: false
    type: string
  taxTypeIDListQuery:
    description:
      Taxnexus Record Ids of the Tax Types in a JSON array url encoded
    in: query
    name: ids
    required: false
    type: string
responses:
  AccessForbidden:
    description: "Access forbidden, account lacks access"
    headers:
      Access-Control-Allow-Origin:
        type: string
    schema:
      $ref: "#/definitions/Error"
  Conflict:
    headers:
      Access-Control-Allow-Origin:
        type: string
    description: Conflict
    schema:
      $ref: "#/definitions/Error"
  CoordinateResponse:
    description: Taxnexus Response with an array of Coordinate objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/CoordinateResponse"
  CoordinateObservableResponse:
    description:
      Taxnexus Response with an array of basic Coordinate objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/Coordinate"
      type: array
  CoordinateBasicResponse:
    description:
      Taxnexus Response with an array of basic Coordinate objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/CoordinateBasicResponse"
  CountryObservableResponse:
    description: Observable array response to a country retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/Country"
      type: array
  CountryResponse:
    description: Taxnexus Response with an array of Country objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/CountryResponse"
  CountyResponse:
    description: Taxnexus Response with an array of County objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/CountyResponse"
  CountyObservableResponse:
    description: Observable array response to a county retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/County"
      type: array
  DeleteResponse:
    description:
      Taxnexus Response with Message Objects with Delete Status
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/DeleteResponse"
  DomainObservableResponse:
    description: Observable array response to a domain retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/Domain"
      type: array
  DomainResponse:
    description: Taxnexus Response with an array of Domain objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/DomainResponse"
  InvalidDataError:
    headers:
      Access-Control-Allow-Origin:
        type: string
    description: Invalid data was sent
    schema:
      $ref: "#/definitions/InvalidError"
  NotFound:
    headers:
      Access-Control-Allow-Origin:
        type: string
    description: Resource was not found
    schema:
      $ref: "#/definitions/Error"
  PlaceObservableResponse:
    description: Observable array response to a place retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/Place"
      type: array
  PlaceResponse:
    description: Taxnexus Response with an array of Place objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/PlaceResponse"
  ServerError:
    headers:
      Access-Control-Allow-Origin:
        type: string
    description: Server Internal Error
    schema:
      $ref: "#/definitions/Error"
  StateObservableResponse:
    description: Observable array response to a state retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/State"
      type: array
  StateResponse:
    description: Taxnexus Response with an array of State objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/StateResponse"
  TaxTypeObservableResponse:
    description: Observable array response to a taxtype retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/TaxType"
      type: array
  TaxTypeResponse:
    description: Taxnexus Response with an array of Tax Type objects
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/TaxTypeResponse"
  TaxnexusCodeObservableResponse:
    description: Observable array response to a Taxnexus Code retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/TaxnexusCode"
      type: array
  TaxnexusCodeResponse:
    description: Taxnexus Response with an array of Taxnexus Codes
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/TaxnexusCodeResponse"
  TaxRateObservableResponse:
    description: Observable array response to a tax rate retrieval
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      items:
        $ref: "#/definitions/TaxRate"
      type: array
  TaxRateResponse:
    description: Taxnexus Response with an array of Tax Rate records
    headers:
      Access-Control-Allow-Origin:
        type: string
      Cache-Control:
        type: string
    schema:
      $ref: "#/definitions/TaxRateResponse"
  Unauthorized:
    headers:
      Access-Control-Allow-Origin:
        type: string
    description: "Access unauthorized, invalid API-KEY was used"
    schema:
      $ref: "#/definitions/Error"
  UnprocessableEntity:
    headers:
      Access-Control-Allow-Origin:
        type: string
    description: "Unprocessable Entity, likely a bad parameter"
    schema:
      $ref: "#/definitions/Error"
  CORSResponse:
    description: CORS OPTIONS response
    headers:
      Access-Control-Allow-Origin:
        type: string
      Access-Control-Allow-Headers:
        type: string
      Access-Control-Allow-Methods:
        type: string
      Access-Control-Expose-Headers:
        type: string
      Access-Control-Max-Age:
        type: string
      Access-Control-Allow-Credentials:
        type: string
      Cache-Control:
        type: string
paths:
  /coordinates:
    delete:
      description:
        Delete a Taxneuxs Coordinate record from the Coordinate database
      operationId: deleteCoordinate
      parameters:
        - $ref: "#/parameters/coordinateIdQuery"
      responses:
        "200":
          $ref: "#/responses/DeleteResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Delete a Coordinate
      tags:
        - Coordinate
    get:
      description:
        Return a fully-populated Coordinate record including Tax Type
        array
      operationId: getCoordinates
      parameters:
        - $ref: "#/parameters/addressQuery"
        - $ref: "#/parameters/placeNameQuery"
        - $ref: "#/parameters/coordinateIdQuery"
        - $ref: "#/parameters/dateQuery"
        - $ref: "#/parameters/refQuery"
      responses:
        "200":
          $ref: "#/responses/CoordinateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a single Taxnexus Coordinate from Address Information
      tags:
        - Coordinate
    options:
      description: CORS support
      operationId: getCoordinatesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      description:
        Processes a batch of Coordinate GET requests and returns an
        array of Coordinate records including Tax Type IDs
      operationId: postCoordinates
      parameters:
        - $ref: "#/parameters/coordinateRequestBody"
      responses:
        "200":
          $ref: "#/responses/CoordinateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Process a batch of Coordinate GET requests
      tags:
        - Coordinate
  /coordinates/basic:
    get:
      description:
        Response is one minimized Coordinate record including Tax Type
        IDs
      operationId: getCoordinateBasic
      parameters:
        - $ref: "#/parameters/addressQuery"
        - $ref: "#/parameters/placeNameQuery"
        - $ref: "#/parameters/coordinateIdQuery"
        - $ref: "#/parameters/dateQuery"
        - $ref: "#/parameters/refQuery"
      responses:
        "200":
          $ref: "#/responses/CoordinateBasicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a single Taxnexus Coordinate from Address Information
      tags:
        - Coordinate
  /coordinates/observable:
    get:
      description:
        Response is one minimized Coordinate record including Tax Type
        IDs as an observable array
      operationId: getCoordinateObservable
      parameters:
        - $ref: "#/parameters/addressQuery"
        - $ref: "#/parameters/placeNameQuery"
        - $ref: "#/parameters/coordinateIdQuery"
        - $ref: "#/parameters/dateQuery"
        - $ref: "#/parameters/refQuery"
      responses:
        "200":
          $ref: "#/responses/CoordinateObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a single Taxnexus Coordinate as an observable array
      tags:
        - Coordinate
    options:
      description: CORS support
      operationId: getCoordinatesObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /counties:
    get:
      description: "Retrieve Counties, filter with parameters"
      operationId: getCounties
      parameters:
        - $ref: "#/parameters/stateQuery"
        - $ref: "#/parameters/countyQuery"
        - $ref: "#/parameters/countyIdQuery"
        - $ref: "#/parameters/geocodeQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/CountyResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Retrieve Counties
      tags:
        - County
    options:
      description: CORS support
      operationId: getCountiesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      consumes:
        - application/json
      description: Create New Counties
      operationId: postCounties
      parameters:
        - $ref: "#/parameters/countyRequest"
      responses:
        "200":
          $ref: "#/responses/CountyResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new Counties
      tags:
        - County
  /counties/observable:
    get:
      description: Returns a county retrieval in a observable array
      operationId: getCountiesObservable
      parameters:
        - $ref: "#/parameters/stateQuery"
        - $ref: "#/parameters/countyQuery"
        - $ref: "#/parameters/countyIdQuery"
        - $ref: "#/parameters/geocodeQuery"
      responses:
        "200":
          $ref: "#/responses/CountyObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get counties in an observable array
      tags:
        - County
    options:
      description: CORS support
      operationId: getCountiesObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /countries:
    get:
      description: "Retrieve Countries, filter with parameters"
      operationId: getCountries
      parameters:
        - $ref: "#/parameters/countryIdQuery"
        - $ref: "#/parameters/countryCodeQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/CountryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Retrieve Countries
      tags:
        - Country
    options:
      description: CORS support
      operationId: getCountriesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      consumes:
        - application/json
      description: Create New Countries
      operationId: postCountries
      parameters:
        - $ref: "#/parameters/countryRequest"
      responses:
        "200":
          $ref: "#/responses/CountryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new Countries
      tags:
        - Country
  /countries/observable:
    get:
      description: Returns a country retrieval in a observable array
      operationId: getCountriesObservable
      parameters:
        - $ref: "#/parameters/countryIdQuery"
        - $ref: "#/parameters/countryCodeQuery"
      responses:
        "200":
          $ref: "#/responses/CountryObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get countries in an observable array
      tags:
        - Country
    options:
      description: CORS support
      operationId: getCountriesObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /domains:
    get:
      description: Return all Domain records or by ID
      operationId: getDomains
      responses:
        "200":
          $ref: "#/responses/DomainResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get Domain records
      tags:
        - Domain
    options:
      description: CORS support
      operationId: getDomainsOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      description: Store a batch of new Domain records
      operationId: postDomains
      parameters:
        - $ref: "#/parameters/domainRequest"
      responses:
        "200":
          $ref: "#/responses/DomainResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new Domain records
      tags:
        - Domain
  /domains/observable:
    get:
      description: Returns a domain retrieval in a observable array
      operationId: getDomainObservable
      responses:
        "200":
          $ref: "#/responses/DomainObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get domains in an observable array
      tags:
        - Domain
    options:
      description: CORS support
      operationId: getDomainsObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /places:
    get:
      description: "Retrieve Places, filter with parameters"
      operationId: getPlaces
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/stateQuery"
        - $ref: "#/parameters/placeIdQuery"
        - $ref: "#/parameters/geocodeQuery"
      responses:
        "200":
          $ref: "#/responses/PlaceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Retrieve Places
      tags:
        - Place
    options:
      description: CORS support
      operationId: getPlacesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      description: Store a batch of new Place records
      operationId: postPlaces
      parameters:
        - $ref: "#/parameters/placeRequest"
      responses:
        "200":
          $ref: "#/responses/PlaceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new Place records
      tags:
        - Place
  /places/observable:
    get:
      description: Returns a place retrieval in a observable array
      operationId: getPlaceObservable
      parameters:
        - $ref: "#/parameters/stateQuery"
        - $ref: "#/parameters/placeIdQuery"
        - $ref: "#/parameters/geocodeQuery"
      responses:
        "200":
          $ref: "#/responses/PlaceObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get places in an observable array
      tags:
        - Place
    options:
      description: CORS support
      operationId: getPlacesObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /states:
    get:
      description: "Retrieve States, filter with parameters"
      operationId: getStates
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/countryCodeQuery"
        - $ref: "#/parameters/stateIDQuery"
        - $ref: "#/parameters/geocodeQuery"
      responses:
        "200":
          $ref: "#/responses/StateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Retrieve States
      tags:
        - State
    options:
      description: CORS support
      operationId: getStatesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      description: Store a batch of new State records
      operationId: postStates
      parameters:
        - $ref: "#/parameters/stateRequest"
      responses:
        "200":
          $ref: "#/responses/StateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new State records
      tags:
        - State
  /states/observable:
    get:
      description: Returns a state retrieval in a observable array
      operationId: getStateObservable
      parameters:
        - $ref: "#/parameters/countryCodeQuery"
        - $ref: "#/parameters/stateIDQuery"
        - $ref: "#/parameters/geocodeQuery"
      responses:
        "200":
          $ref: "#/responses/StateObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get states in an observable array
      tags:
        - State
    options:
      description: CORS support
      operationId: getStatesObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /taxnexuscodes:
    get:
      description: Return a list of TaxnexusCodes
      operationId: getTaxnexusCodes
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/taxnexusCodeIdQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TaxnexusCodeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of TaxnexusCodes
      tags:
        - TaxnexusCode
    options:
      description: CORS support
      operationId: getTaxnexusCodesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      description: Store a batch of new TaxnexusCode records
      operationId: postTaxnexusCodes
      parameters:
        - $ref: "#/parameters/taxnexusCodeRequest"
      responses:
        "200":
          $ref: "#/responses/TaxnexusCodeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new TaxnexusCode records
      tags:
        - TaxnexusCode
  /taxnexuscodes/observable:
    get:
      description:
        Returns a taxnexuscode retrieval in a observable array
      operationId: getTaxnexusCodeObservable
      parameters:
        - $ref: "#/parameters/countryCodeQuery"
        - $ref: "#/parameters/stateIDQuery"
        - $ref: "#/parameters/geocodeQuery"
      responses:
        "200":
          $ref: "#/responses/TaxnexusCodeObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get taxnexuscodes in an observable array
      tags:
        - TaxnexusCode
    options:
      description: CORS support
      operationId: getTaxnexusCodesObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /taxrates:
    get:
      description: Returns SALES TAX rates based on County or Place ID
      operationId: getTaxRates
      parameters:
        - $ref: "#/parameters/placeIdQuery"
        - $ref: "#/parameters/countyIdQuery"
        - $ref: "#/parameters/journalDateQueryRequired"
      responses:
        "200":
          $ref: "#/responses/TaxRateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Combined Tax Rates
      tags:
        - TaxRate
    options:
      description: CORS support
      operationId: getTaxRatesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /taxrates/observable:
    get:
      description: Returns a taxrate retrieval in a observable array
      operationId: getTaxRateObservable
      parameters:
        - $ref: "#/parameters/placeIdQuery"
        - $ref: "#/parameters/countyIdQuery"
        - $ref: "#/parameters/journalDateQueryRequired"
      responses:
        "200":
          $ref: "#/responses/TaxRateObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get taxrates in an observable array
      tags:
        - TaxRate
    options:
      description: CORS support
      operationId: getTaxRateObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
  /taxtypes:
    get:
      description: Return a list of tax types
      operationId: getTaxTypes
      parameters:
        - $ref: "#/parameters/activeQuery"
        - $ref: "#/parameters/addressQuery"
        - $ref: "#/parameters/countryCodeQuery"
        - $ref: "#/parameters/countyQuery"
        - $ref: "#/parameters/dateQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/placeQuery"
        - $ref: "#/parameters/stateQuery"
        - $ref: "#/parameters/taxTypeIDListQuery"
        - $ref: "#/parameters/taxTypeIdQuery"
      responses:
        "200":
          $ref: "#/responses/TaxTypeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of Tax Types
      tags:
        - TaxType
    options:
      description: CORS support
      operationId: getTaxTypesOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
    post:
      description: Store a batch of new TaxType records
      operationId: postTaxTypes
      parameters:
        - $ref: "#/parameters/taxTypeRequest"
      responses:
        "200":
          $ref: "#/responses/TaxTypeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Store new TaxType records
      tags:
        - TaxType
  /taxtypes/observable:
    get:
      description: Returns a taxtype retrieval in a observable array
      operationId: getTaxTypesObservable
      responses:
        "200":
          $ref: "#/responses/TaxTypeObservableResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get taxtypes in an observable array
      tags:
        - TaxType
    options:
      description: CORS support
      operationId: getTaxTypeObservableOptions
      responses:
        "200":
          $ref: "#/responses/CORSResponse"
      tags:
        - cors
definitions:
  Address:
    properties:
      City:
        description: City
        type: string
      Country:
        description: Country full name
        type: string
      CountryCode:
        description: Country Code
        type: string
      PostalCode:
        description: Postal Code
        type: string
      State:
        description: State full name
        type: string
      StateCode:
        description: State Code
        type: string
      Street:
        description: Street number and name
        type: string
    type: object
  Coordinate:
    properties:
      OwnerID:
        description: The Taxnexus ID of the user who owns this record
        type: string
      CreatedByID:
        description: The Taxnexus ID of the user who created this record
        type: string
      CreatedDate:
        description: The creation date of this database record
        type: string
      LastModifiedByID:
        description:
          The Taxnexus ID of the user last modified this record
        type: string
      LastModifiedDate:
        description: The last modification date of this database record
        type: string
      Country:
        description: Geocoder Country
        type: string
      CountryID:
        description: Taxnexus Country ID
        type: string
      County:
        description: Geocoder County
        type: string
      CountyID:
        description: Taxnexus County ID
        type: string
      Focus:
        description: Situs Focus for tax determination
        type: string
      FormattedAddress:
        description: Formatted Address from Geocoder
        type: string
      ID:
        description: Taxnexus Coordinate Record Id
        type: string
      IsDistrict:
        description: Situs Incorporated District?
        type: boolean
      Latitude:
        description: Latitude of coordinate
        type: number
      Longitude:
        description: Longitude of coordinate
        type: number
      Map:
        description: Google map image
        format: byte
        type: string
      Name:
        description: Coordinate Name from Search Text
        type: string
      Neighborhood:
        description: Geocoder Neighborhood
        type: string
      Place:
        description: Geocoder Place
        type: string
      PlaceGeocode:
        description:
          The Taxnexus Geocode for this rated location (place or county)
        type: string
      PlaceID:
        description: Taxnexus Place ID
        type: string
      PostalCode:
        description: Geocoder Postal Code
        type: string
      Ref:
        description: External System reference ID
        type: string
      State:
        description: Geocoder State/Province name
        type: string
      StateID:
        description: Taxnexus State ID
        type: string
      Status:
        description: The Status of the coordinate in Taxnexus
        type: string
      Street:
        description: Geocoder Street Name (only)
        type: string
      StreetNumber:
        description: Geocoder Streen number
        type: string
      StreetView:
        description: Google street view image
        format: byte
        type: string
      TaxRate:
        $ref: "#/definitions/TaxRate"
      TaxTypes:
        items:
          $ref: "#/definitions/TaxType"
        type: array
    type: object
  CoordinateBasic:
    description:
      Minimized version of full Coordinate record; should contain just
      enough data for tax rating purposes
    properties:
      CountryID:
        description: Taxnexus Country ID
        type: string
      CountyID:
        description: Taxnexus County ID
        type: string
      Focus:
        description: Situs Focus for tax determination
        type: string
      ID:
        description: Taxnexus Coordinate Record Id
        type: string
      IsDistrict:
        description: Situs Incorporated District?
        type: boolean
      Name:
        description: Coordinate Name from Search Text
        type: string
      PlaceGeocode:
        description:
          The Taxnexus Geocode for this rated location (place or county)
        type: string
      PlaceID:
        description: Taxnexus Place ID
        type: string
      Ref:
        description: External System reference ID
        type: string
      StateID:
        description: Taxnexus State ID
        type: string
      TaxTypes:
        items:
          $ref: "#/definitions/TaxTypeID"
        type: array
    type: object
  CoordinateBasicResponse:
    description: An array of Coordinate objects
    properties:
      Data:
        items:
          $ref: "#/definitions/CoordinateBasic"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  CoordinateRequest:
    description: An array of Coordinate Request Items
    properties:
      Data:
        items:
          $ref: "#/definitions/CoordinateRequestItem"
        type: array
    type: object
  CoordinateRequestItem:
    description: A single Coordinate Request item
    properties:
      Address:
        description: The address to be translated
        type: string
      Ref:
        description: Source record reference
        type: string
    type: object
  CoordinateResponse:
    description: An array of Coordinate objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Coordinate"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  Country:
    properties:
      OwnerID:
        description: The Taxnexus ID of the user who owns this record
        type: string
      CreatedByID:
        description: The Taxnexus ID of the user who created this record
        type: string
      CreatedDate:
        description: The creation date of this database record
        type: string
      LastModifiedByID:
        description:
          The Taxnexus ID of the user last modified this record
        type: string
      LastModifiedDate:
        description: The last modification date of this database record
        type: string
      AccountID:
        description: Account
        type: string
      Amount:
        description: Rollup Amount
        format: double
        type: number
      Code:
        description: Code
        type: string
      ContactID:
        description: Contact
        type: string
      EnrollmentStatus:
        description: Enrollment Status
        type: string
      ID:
        description: Taxnexus Record Id
        type: string
      Interest:
        description: Interest
        format: double
        type: number
      Latitude:
        description: Latitude of the center of this geographic entity
        format: double
        type: number
      Longitude:
        description: Longitude of the center of this geographic entity
        format: double
        type: number
      Name:
        description: Country Name
        type: string
      Penalty:
        description: Penalty
        format: double
        type: number
      Ref:
        description: "Source System identifier for this record, if any"
        type: string
      ReportedAdjustments:
        description: Reported Adjustments
        format: double
        type: number
      ReportedDeductions:
        description: Reported Deductions
        format: double
        type: number
      ReportedNetRevenue:
        description: Reported Net Revenue
        format: double
        type: number
      ReportedRate:
        description: Reported Rate
        format: double
        type: number
      ReportedRevenue:
        description: Reported Revenue
        format: double
        type: number
      RevenueBase:
        description: Rollup Revenue Base
        format: double
        type: number
      RevenueNet:
        description: Rollup Revenue Net
        format: double
        type: number
      RevenueNotTaxable:
        description: Rollup Revenue Not Taxable
        format: double
        type: number
      Status:
        description: Document Status
        type: string
      Subtotal:
        description: Reported Tax
        format: double
        type: number
      TaxInstances:
        items:
          $ref: "#/definitions/TaxInstance"
        type: array
      TemplateID:
        description: Template
        type: string
      TotalAmount:
        description: Total Amount
        format: double
        type: number
      UnitBase:
        description: Unit Base
        format: double
        type: number
    type: object
  CountryRequest:
    description: An array of Country objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Country"
        type: array
    type: object
  CountryResponse:
    description: An array of Country objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Country"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  County:
    properties:
      OwnerID:
        description: The Taxnexus ID of the user who owns this record
        type: string
      CreatedByID:
        description: The Taxnexus ID of the user who created this record
        type: string
      CreatedDate:
        description: The creation date of this database record
        type: string
      LastModifiedByID:
        description:
          The Taxnexus ID of the user last modified this record
        type: string
      LastModifiedDate:
        description: The last modification date of this database record
        type: string
      AccountID:
        description: Account
        type: string
      Amount:
        description: Rollup Amount
        format: double
        type: number
      AreaDescription:
        description: AreaDescription
        type: string
      ContactID:
        description: Contact
        type: string
      CountryID:
        description: Country Taxnexus ID
        type: string
      EnrollmentStatus:
        description: Enrollment Status
        type: string
      FIPS:
        description: FIPS
        type: string
      FIPSclass:
        description: FIPS Class
        type: string
      FunctionalStatus:
        description: Functional Status
        type: string
      GNIS:
        description: GNIS Code
        format: int64
        type: number
      Geocode:
        description: Geocode
        type: string
      HasDistrictTaxes:
        description:
          True if this County has it's own District Sales Taxes
        format: boolean
      ID:
        description: Taxnexus Record Id
        type: string
      Interest:
        description: Interest
        format: double
        type: number
      LandArea:
        description: Land Area
        format: int64
        type: number
      Latitude:
        description: Latitude of the center of this geographic entity
        format: double
        type: number
      LegalName:
        description: Legal Name
        type: string
      Longitude:
        description: Longitude of the center of this geographic entity
        format: double
        type: number
      Name:
        description: County Name
        type: string
      Penalty:
        description: Penalty
        format: double
        type: number
      Ref:
        description: "Source System identifier for this record, if any"
        type: string
      ReportedAdjustments:
        description: Reported Adjustments
        format: double
        type: number
      ReportedDeductions:
        description: Reported Deductions
        format: double
        type: number
      ReportedNetRevenue:
        description: Reported Net Revenue
        format: double
        type: number
      ReportedRate:
        description: Reported Rate
        format: double
        type: number
      ReportedRevenue:
        description: Reported Revenue
        format: double
        type: number
      RevenueBase:
        description: Rollup Revenue Base
        format: double
        type: number
      RevenueNet:
        description: Rollup Revenue Net
        format: double
        type: number
      RevenueNotTaxable:
        description: Rollup Revenue Not Taxable
        format: double
        type: number
      SalesTaxRate:
        $ref: "#/definitions/TaxRate"
        type: object
      StateID:
        description: State
        type: string
      Status:
        description: Document Status
        type: string
      Subtotal:
        description: Reported Tax
        format: double
        type: number
      TaxInstances:
        items:
          $ref: "#/definitions/TaxInstance"
        type: array
      TemplateID:
        description: Print Template ID
        type: string
      TotalAmount:
        description: Total Amount
        format: double
        type: number
      TotalArea:
        description: Total Area
        format: int64
        type: number
      UnitBase:
        description: Unit Base
        format: double
        type: number
      WaterArea:
        description: Water Area
        format: int64
        type: number
    type: object
  CountyRequest:
    description: An array of County objects
    properties:
      Data:
        items:
          $ref: "#/definitions/County"
        type: array
    type: object
  CountyResponse:
    description: An array of County objects
    properties:
      Data:
        items:
          $ref: "#/definitions/County"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  DeleteResponse:
    properties:
      Data:
        items:
          $ref: "#/definitions/Message"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  Domain:
    properties:
      Active:
        description: Active
        type: boolean
      Description:
        description: Description
        type: string
      ID:
        description: Taxnexus Record Id
        type: string
      Name:
        description: Domain Name
        type: string
    type: object
  DomainRequest:
    description: An array of Domain objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Domain"
        type: array
    type: object
  DomainResponse:
    description: An array of Domain objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Domain"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  Error:
    properties:
      Code:
        format: int64
        type: number
      Fields:
        type: string
      Message:
        type: string
    type: object
  InvalidError:
    allOf:
      - $ref: "#/definitions/Error"
      - properties:
          details:
            items:
              type: string
            type: array
        type: object
  Message:
    properties:
      Message:
        type: string
      Ref:
        type: string
      Status:
        format: int64
        type: number
    type: object
  Pagination:
    properties:
      Limit:
        format: int64
        type: integer
      POffset:
        format: int64
        type: integer
      PageSize:
        format: int64
        type: integer
      SetSize:
        format: int64
        type: integer
    type: object
  Place:
    properties:
      OwnerID:
        description: The Taxnexus ID of the user who owns this record
        type: string
      CreatedByID:
        description: The Taxnexus ID of the user who created this record
        type: string
      CreatedDate:
        description: The creation date of this database record
        type: string
      LastModifiedByID:
        description:
          The Taxnexus ID of the user last modified this record
        type: string
      LastModifiedDate:
        description: The last modification date of this database record
        type: string
      AccountID:
        description: Account
        type: string
      AccountValidation:
        description: Account Validation
        type: string
      Amount:
        description: Rollup Amount
        format: double
        type: number
      AreaDescription:
        description: AreaDescription
        type: string
      ContactID:
        description: Contact
        type: string
      CountryID:
        type: string
      CountyID:
        description: County
        type: string
      EnrollmentStatus:
        description: Enrollment Status
        type: string
      FIPS:
        description: FIPS
        type: string
      FIPSclass:
        description: FIPS Class
        type: string
      FunctionalStatus:
        description: Functional Status
        type: string
      GNIS:
        description: GNIS
        format: int64
        type: number
      Geocode:
        description: Geocode
        type: string
      HasDistrictTaxes:
        description:
          True if this Place has it's own District Sales
          HasDistrictTaxes
        format: boolean
      ID:
        description: Taxnexus Record Id
        type: string
      Interest:
        description: Interest
        format: double
        type: number
      LandArea:
        description: Land Area
        format: int64
        type: number
      Latitude:
        description: Latitude of the center of this geographic entity
        format: double
        type: number
      LegalName:
        description: Legal Name
        type: string
      Longitude:
        description: Longitude of the center of this geographic entity
        format: double
        type: number
      Name:
        description: Place Name
        type: string
      Penalty:
        description: Penalty
        format: double
        type: number
      Ref:
        description: "Source System identifier for this record, if any"
        type: string
      ReportedAdjustments:
        description: Reported Adjustments
        format: double
        type: number
      ReportedDeductions:
        description: Reported Deductions
        format: double
        type: number
      ReportedNetRevenue:
        description: Reported Net Revenue
        format: double
        type: number
      ReportedRate:
        description: Reported Rate
        format: double
        type: number
      ReportedRevenue:
        description: Reported Revenue
        format: double
        type: number
      RevenueBase:
        description: Rollup Revenue Base
        format: double
        type: number
      RevenueNet:
        description: Rollup Revenue Net
        format: double
        type: number
      RevenueNotTaxable:
        description: Rollup Revenue Not Taxable
        format: double
        type: number
      SalesTaxRate:
        $ref: "#/definitions/TaxRate"
        type: object
      Split:
        type: boolean
        description: Is this place that is split by county boundaries?
      StateID:
        description: State
        type: string
      StateCode:
        description: State Code
        type: string
      Status:
        description: Document Status
        type: string
      Subtotal:
        description: Reported Tax
        format: double
        type: number
      TaxInstances:
        items:
          $ref: "#/definitions/TaxInstance"
        type: array
      TemplateID:
        description: Template
        type: string
      TotalAmount:
        description: Total Amount
        format: double
        type: number
      TotalArea:
        description: Total Area
        format: int64
        type: number
      UnitBase:
        description: Unit Base
        format: double
        type: number
      WaterArea:
        description: Water Area
        format: int64
        type: number
    type: object
  PlaceRequest:
    description: An array of Place objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Place"
        type: array
    type: object
  PlaceResponse:
    description: An array of Place objects
    properties:
      Data:
        items:
          $ref: "#/definitions/Place"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  RequestMeta:
    properties:
      TaxnexusAccount:
        description: Taxnexus Account Number of the Reseller or OEM
        type: string
    required:
      - TaxnexusAccount
    type: object
  ResponseMeta:
    properties:
      Contact:
        description: Microservice Contact Info
        type: string
      Copyright:
        description: Copyright Info
        type: string
      License:
        description: License Information and Restrictions
        type: string
      OperationID:
        description: Operation ID
        type: string
      Pagination:
        $ref: "#/definitions/Pagination"
      RequestIP:
        description: Request IP Address
        type: string
      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
      TaxnexusAccount:
        description:
          Taxnexus Account Number used for recording transactions
        type: string
    type: object
  State:
    properties:
      OwnerID:
        description: The Taxnexus ID of the user who owns this record
        type: string
      AccountID:
        description: Account
        type: string
      CreatedByID:
        description: The Taxnexus ID of the user who created this record
        type: string
      CreatedDate:
        description: The creation date of this database record
        type: string
      LastModifiedByID:
        description:
          The Taxnexus ID of the user last modified this record
        type: string
      LastModifiedDate:
        description: The last modification date of this database record
        type: string
      Amount:
        description: Rollup Amount
        format: double
        type: number
      Code:
        description: State Code
        type: string
      ContactID:
        description: Contact
        type: string
      CountryID:
        description: Country
        type: string
      Division:
        description: Division
        type: string
      EnrollmentStatus:
        description: Enrollment Status
        type: string
      FIPS:
        description: FIPS
        type: string
      GNIS:
        description: GNIS
        format: int64
        type: number
      Geocode:
        description: State Geocode
        type: string
      ID:
        description: Taxnexus Record Id
        type: string
      Interest:
        description: Interest
        format: double
        type: number
      LandArea:
        description: Land Area
        format: int64
        type: number
      Latitude:
        description: Latitude of the center of this geographic entity
        format: double
        type: number
      Longitude:
        description: Longitude of the center of this geographic entity
        format: double
        type: number
      Name:
        description: State Name
        type: string
      Penalty:
        description: Penalty
        format: double
        type: number
      Ref:
        description: "Source System identifier for this record, if any"
        type: string
      Region:
        description: Region
        type: string
      ReportedAdjustments:
        description: Reported Adjustments
        format: double
        type: number
      ReportedDeductions:
        description: Reported Deductions
        format: double
        type: number
      ReportedNetRevenue:
        description: Reported Net Revenue
        format: double
        type: number
      ReportedRate:
        description: Reported Rate
        format: double
        type: number
      ReportedRevenue:
        description: Reported Revenue
        format: double
        type: number
      RevenueBase:
        description: Rollup Revenue Base
        format: double
        type: number
      RevenueNet:
        description: Rollup Revenue Net
        format: double
        type: number
      RevenueNotTaxable:
        description: Rollup Revenue Not Taxable
        format: double
        type: number
      SGC:
        description: SGC
        type: string
      Status:
        description: Document Status
        type: string
      Subtotal:
        description: Reported Tax
        format: double
        type: number
      TaxInstances:
        items:
          $ref: "#/definitions/TaxInstance"
        type: array
      TemplateID:
        description: Template
        type: string
      TotalAmount:
        description: Total Amount
        format: double
        type: number
      TotalArea:
        description: Total Area
        format: int64
        type: number
      UnitBase:
        description: Unit Base
        format: double
        type: number
      WaterArea:
        description: Water Area
        format: int64
        type: number
    type: object
  StateRequest:
    description: An array of State objects
    properties:
      Data:
        items:
          $ref: "#/definitions/State"
        type: array
    type: object
  StateResponse:
    description: An array of State objects
    properties:
      Data:
        items:
          $ref: "#/definitions/State"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  TaxInstance:
    properties:
      ID:
        description: Taxnexus Record ID
        type: string
      CountryID:
        description:
          The Taxnexus ID of the Country that owns this instance
        type: string
      CountyID:
        description:
          The Taxnexus ID of the County that owns this instance
        type: string
      CreatedByID:
        description: The Taxnexus ID of the user who created this record
        type: string
      CreatedDate:
        description: The creation date of this database record
        type: string
      LastModifiedByID:
        type: string
      LastModifiedDate:
        type: string
      PlaceID:
        description:
          The Taxnexus ID of the Place that owns this instance
        type: string
      StateID:
        description:
          The Taxnexus ID of the State that owns this instance
        type: string
      TaxTypeID:
        description: The Taxnexus Tax Type ID of this instance
        type: string
      Type:
        description:
          "The Type of instance refers to the linking object (place,
          county, state, country)"
        type: string
    type: object
  TaxRate:
    properties:
      CombinedRate:
        description: Total Sales Tax Rate (use this one!)
        format: double
        type: number
      County:
        description: County full name
        type: string
      CountyID:
        description: County Taxnexus ID
        type: string
      CountyRate:
        description: County Sales Tax Rate
        format: double
        type: number
      Date:
        description: Date of tax situs determination
        type: string
      Focus:
        description: Where the tax rate is focused (place or county)
        type: string
      Geocode:
        description: Taxnexus Geocode for this location
        type: string
      JournalDate:
        description: Journal Entry Date (transaction date)
        type: string
      Place:
        description: City/Town/Village full name
        type: string
      PlaceID:
        description: City/Town/Village Taxnexus ID
        type: string
      PlaceRate:
        description: City/Town/Village Tax Rate
        format: double
        type: number
      State:
        description: State full name
        type: string
      StateID:
        description: State Taxnexus ID
        type: string
      StateRate:
        description: State Sales Tax Rate
        format: double
        type: number
    type: object
  TaxRateResponse:
    description: An array of Tax Rate objects
    properties:
      Data:
        items:
          $ref: "#/definitions/TaxRate"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  TaxType:
    properties:
      Active:
        description:
          Is this tax type currently active? (not used for tax ratings)
        type: boolean
      Amount:
        description: Total tax amount
        type: number
        format: double
      OwnerID:
        description: User ID of the owner of this TaxType
        format: string
      RevenueBase:
        description: Revenue Base for this Tax Type
        type: number
        format: double
      RevenueNet:
        description: Revenue Net
        type: number
        format: double
      RevenueNotTaxable:
        description: Revenue Not Taxable
        format: double
        type: number
      UnitBase:
        description: Unit Base
        format: double
        type: number
      AccountID:
        description: Taxing Authority Account Id
        type: string
      AccountingRuleCode:
        description: The Accounting Rule Code for this Tax Type
        type: string
      AgencyType:
        description: Agency Type
        type: string
      AgentID:
        description: Collection Agent Id
        type: string
      Category:
        description: Category
        type: string
      ChainType:
        description: Type of tax chaining
        type: string
      CollectorDomainID:
        description: Collector Domain Id
        type: string
      CompanyID:
        description: Company ID
        type: string
      ContactID:
        description: Authority Contact Id
        type: string
      CreatedByID:
        description: Created By User ID
        type: string
      CreatedDate:
        description: Created Date
        type: string
      Description:
        description: Description
        type: string
      EffectiveDate:
        description: Effective Date
        type: string
      EndDate:
        description: End Date
        type: string
      EnrollmentStatus:
        description: Enrollment Status
        type: string
      FilingCity:
        description: Filing City
        type: string
      FilingCountry:
        description: Filing Country
        type: string
      FilingEmail:
        description: Filing Email
        type: string
      FilingMethod:
        description: Filing Method
        type: string
      FilingPostalCode:
        description: Filing Postal Code
        type: string
      FilingState:
        description: Filing State
        type: string
      FilingStreet:
        description: Filing Street
        type: string
      Fractional:
        description:
          Does this Tax Type use a Fractional Basis for calculation?
        type: boolean
      Frequency:
        description: Frequency
        type: string
      GeocodeString:
        description: Geocode String
        type: string
      ID:
        description: Taxnexus Record Id
        type: string
      InterestRate:
        description: Interest Rate
        format: double
        type: number
      IsMedicinal:
        description:
          Medicinal-use cannabis consumption exemption doesn't apply
        type: boolean
      IsRecreational:
        description: For Adult-use cannabis consumption only
        type: boolean
      LastModifiedByID:
        description: Last Modified By User ID
        type: string
      LastModifiedDate:
        description: Last Modified Date
        type: string
      MarkupRate:
        description:
          Wholesale markup rate used in Excise Tax (CA cannabis)
        format: double
        type: number
      Name:
        description: Tax Type Name (unique)
        type: string
      PassThrough:
        description:
          Is this tax allowed to be passed-through to retail customers?
        type: boolean
      PenaltyDays:
        description: Number of days until Penalty is assessed
        format: int64
        type: number
      PenaltyRate:
        description: The percentage rate of a Penalty (per month)
        format: double
        type: number
      Rate:
        description: Tax Rate
        format: double
        type: number
      Reference:
        description: Tax Authority Website Reference
        type: string
      SalesRegulation:
        description: Salesregulation Code for this TaxType
        type: string
      Status:
        description: TaxType Document Status
        type: string
      TaxnexusCodeID:
        description: Taxnexus Code Id
        type: string
      TaxnexusNumber:
        description: The Tax Type number assigned by Taxnexus
        type: string
      TemplateID:
        description: Rendering Template Id
        type: string
      Units:
        description: Units
        type: string
    type: object
  TaxTypeID:
    properties:
      TaxTypeID:
        type: string
  TaxTypeRequest:
    description: An array of Tax Type objects
    properties:
      Data:
        items:
          $ref: "#/definitions/TaxType"
        type: array
    type: object
  TaxTypeResponse:
    description: An array of Tax Type objects
    properties:
      Data:
        items:
          $ref: "#/definitions/TaxType"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  TaxnexusCode:
    properties:
      Active:
        description: Is this an active Taxnexus Code?
        type: boolean
      Code:
        description: Taxnexus Code
        type: string
      CreatedByID:
        description: Created By User ID
        type: string
      CreatedDate:
        description: Created Date
        type: string
      Description:
        description: Taxnexus Code Description
        type: string
      DomainID:
        description: Domain ID
        type: string
      DomainName:
        description: Domain Name
        type: string
      ID:
        description: Taxnexus Record Id
        type: string
      LastModifiedByID:
        description: Last Modified By User ID
        type: string
      LastModifiedDate:
        description: Last Modified Date
        type: string
      Level:
        description: Taxnexus Code Level
        type: string
      OwnerID:
        description: The Taxnexus User Id that owns this Taxnexus Code
        type: string
      Part1:
        description: Taxnexus Code Part 1
        type: string
      Part2:
        description: Taxnexus Code Part 2
        type: string
      Part3:
        description: Taxnexus Code Part 3
        type: string
      Part4:
        description: Taxnexus Code Part 4
        type: string
      Part5:
        description: Taxnexus Code Part 4
        type: string
      PurchasingRulesetCode:
        description: Purchasing Ruleset AccountingRuleset Code
        type: string
      PurchasingRulesetID:
        description: Purchasing Ruleset AccountingRuleset ID
        type: string
      Ref:
        description: "Source System identifier for this record, if any"
        type: string
      RevenueRulesetCode:
        description: Revenue Ruleset AccountingRuleset Code
        type: string
      RevenueRulesetID:
        description: Revenue Ruleset AccountingRuleset ID
        type: string
    type: object
  TaxnexusCodeRequest:
    description: An array of Taxnexus Codes
    properties:
      Data:
        items:
          $ref: "#/definitions/TaxnexusCode"
        type: array
    type: object
  TaxnexusCodeResponse:
    description: An array of Taxnexus Codes
    properties:
      Data:
        items:
          $ref: "#/definitions/TaxnexusCode"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
