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 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