{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/mgmt/accesskeys":{"get":{"operationId":"accessKeys_list-access-keys","summary":"List Access Keys","description":"\nAn access key provides authentication to use the Taxcloud API.\n","tags":["accessKeys"],"parameters":[{"name":"limit","in":"query","description":"Maximum results per page","required":false,"schema":{"type":"integer","format":"int64","minimum":0,"maximum":100,"default":20}},{"name":"cursor","in":"query","description":"The position from where the page should start. This can be found in the result of a previous api call and should be used on subsequent api calls to get the next group of records","required":false,"schema":{"type":"string"}},{"name":"ascending","in":"query","description":"Whether you want the results to be ascending.","required":false,"schema":{"type":"boolean","default":false}},{"name":"sortBy","in":"query","description":"The field you want to sort by.","required":false,"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_MgmtAccesskeysGetParametersSortBy","default":"id"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ListResultAccessKeyResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]},"post":{"operationId":"accessKeys_create-access-keys","summary":"Create an Access Key","description":"\nAn access key provides authentication to use the Taxcloud API.\n","tags":["accessKeys"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_AccessKeyResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_CreateAccessKeyRequest"}}}},"security":[{"bearer":[]}]}},"/mgmt/accesskeys/{id}":{"get":{"operationId":"accessKeys_get-access-keys","summary":"Retrieve an Access Key","description":"\nAn access key provides authentication to use the Taxcloud API.\n","tags":["accessKeys"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_AccessKeyResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]},"delete":{"operationId":"accessKeys_delete-access-keys","summary":"Delete an Access Key","description":"\n\t\t\tDelete an Access Key to prevent it from being used to authenticate to the TaxCloud API. Proceed with caution--this will cause any API requests using the deleted Access Key to fail.\n","tags":["accessKeys"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]}},"/mgmt/accounts":{"post":{"operationId":"accounts_create-account","summary":"Create an Account","description":"\nCreates a TaxCloud account and its first contact. Requires a service credential with the `create:accounts` scope. The new account's identifier is returned in the response.\n\n## Contact\n\nEvery account starts with one contact. By default it uses the account email; supply the optional `contact` object to name a different person. The contact's status is `invited` until they accept the terms of service, then `active`.\n\n**Note:** Creation is not idempotent and has no replay protection. The contact email must be unique across all TaxCloud contacts, so a repeated call with the same email returns `409` rather than a second account; a repeated call with a different email creates a second account. Do not retry this call automatically.\n","tags":["accounts"],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_AccountResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_CreateAccountRequest"}}}},"security":[{"bearer":[]}]}},"/mgmt/accounts/{id}":{"get":{"operationId":"accounts_get-account","summary":"Get an Account","description":"\nReturns the account identified by `id` in the path. Requires a service credential with the `read:accounts` scope.\n\nThe response has the same shape as create and update and is read from the system of record, so a value written by **Update an Account** is visible on the next read. Contacts are not included.\n","tags":["accounts"],"parameters":[{"name":"id","in":"path","description":"Identifier of the account to fetch.","required":true,"schema":{"type":"integer","format":"int64","minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_AccountResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]},"put":{"operationId":"accounts_update-account","summary":"Update an Account","description":"\nReplaces the profile fields of the account identified by `id` in the path. Requires a service credential with the `update:accounts` scope.\n\n## Replacement semantics\n\nThe body carries the same fields as **Create an Account**, without `contact`, and is the complete desired state. `name` and `email` are required. An omitted optional field (`phone`, `ein`, `stateIncorporated`) is **cleared**, not preserved. Creation time, disabled state, SST enrollment and contacts are never modified; a `contact` object is rejected with 422.\n\nSending the same body twice leaves the account unchanged, so this call is safe to retry. The response is the account as stored after the write.\n","tags":["accounts"],"parameters":[{"name":"id","in":"path","description":"Identifier of the account to update.","required":true,"schema":{"type":"integer","format":"int64","minimum":1}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_AccountResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_UpdateAccountRequest"}}}},"security":[{"bearer":[]}]}},"/mgmt/connections/{connectionId}/products":{"get":{"operationId":"productCatalog_list-product","summary":"List Product Catalog","description":"\nRetrieves a list of all Products for a specific connection. Supports cursor based pagination.\n\t\t\t\t\t\t \n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum results per page","required":false,"schema":{"type":"integer","format":"int64","minimum":0,"maximum":100,"default":20}},{"name":"cursor","in":"query","description":"The position from where the page should start. This can be found in the result of a previous api call and should be used on subsequent api calls to get the next group of records","required":false,"schema":{"type":"string"}},{"name":"ascending","in":"query","description":"Whether you want the results to be ascending.","required":false,"schema":{"type":"boolean","default":false}},{"name":"sortBy","in":"query","description":"The field you want to sort by.","required":false,"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_MgmtConnectionsConnectionIdProductsGetParametersSortBy","default":"id"}},{"name":"search","in":"query","description":"The term you want to search for.","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","description":"Filter expression. Format: field:operator:value separated by semicolons. Example: channel:eq:stripe;productId:eq:prod_xxx","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ListResultProductResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]},"post":{"operationId":"productCatalog_create-product","summary":"Create Product","description":"\nCreates a Product in the product catalog. Product represents the type of line item from the integration when calculating tax rates.\n\n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductRequest"}}}},"security":[{"bearer":[]}]},"put":{"operationId":"productCatalog_upsert-product","summary":"Upsert Product","description":"\nCreates or updates a Product.\n\t\t\t\t\t\t \n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductRequest"}}}},"security":[{"bearer":[]}]},"delete":{"operationId":"productCatalog_bulk-delete-products","summary":"Bulk Delete Products","description":"\nDeletes multiple Products in a single operation. Warning: This is a dangerous operation. Please pass this parameter to acknowledge that all products for the connection will be deleted.\n    \t\t\t          \n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}},{"name":"confirm_delete","in":"query","description":"This is a dangerous operation. Please pass this parameter to acknowledge that all products for the connection will be deleted.","required":true,"schema":{"type":"boolean"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]}},"/mgmt/connections/{connectionId}/products/upload":{"post":{"operationId":"productCatalog_bulk-upload-products","summary":"Bulk Upload Products","description":"\nAllows uploading multiple Products. This is an upsert operation.\n\n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_BulkProductResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_BulkProductRequest"}}}},"security":[{"bearer":[]}]}},"/mgmt/connections/{connectionId}/products/{id}":{"get":{"operationId":"productCatalog_get-product","summary":"Get Product","description":"\nFetches details of a specific Product using its unique ID.\n\t\t\t\t\t\t \n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"id","in":"path","description":"represents the ID of a map","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]},"delete":{"operationId":"productCatalog_delete-product","summary":"Delete Product","description":"\nRemoves a specific Product by its unique ID.\n \t\t\t\t\t\t \n\t\t\t","tags":["productCatalog"],"parameters":[{"name":"connectionId","in":"path","description":"represents the ID of a connection. It is used as a unique identifier for the connection","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"represents the ID of a map","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorModel"}}}}},"security":[{"bearer":[]}]}}},"tags":[{"name":"accessKeys"},{"name":"accounts"},{"name":"productCatalog"}],"servers":[{"url":"https://api.v3.taxcloud.com","description":"https://api.v3.taxcloud.com"}],"components":{"schemas":{"MANAGEMENT_API_MgmtAccesskeysGetParametersSortBy":{"type":"string","enum":["createdAt","updatedAt","id"],"default":"id","description":"The field you want to sort by.","title":"MgmtAccesskeysGetParametersSortBy"},"MANAGEMENT_API_AccessKeyResponseGrants":{"type":"object","properties":{"audience":{"type":"string"},"id":{"type":"integer","format":"int64"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["audience","id","scopes"],"title":"AccessKeyResponseGrants"},"MANAGEMENT_API_AccessKeyResponse":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"apiKey":{"type":"string","description":"api key value to use as 'X-API-KEY' on the tax service"},"createdAt":{"type":"string","format":"date-time","description":"Unix timestamp of when the record was created as RFC3339 datetime"},"grants":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_AccessKeyResponseGrants"},"description":"grants of the access key"},"id":{"type":"integer","format":"int64","description":"Id of the taxcloud account created in the access key"},"name":{"type":"string","description":"name of the access key"},"updatedAt":{"type":"string","format":"date-time","description":"Unix timestamp the record was last updated as RFC3339 datetime"}},"required":["apiKey","createdAt","grants","id","name","updatedAt"],"title":"AccessKeyResponse"},"MANAGEMENT_API_ListResultAccessKeyResponse":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"items":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_AccessKeyResponse"}},"limit":{"type":"integer","format":"int64","minimum":0,"maximum":100,"description":"Maximum results per page"},"nextCursor":{"type":["string","null"]}},"required":["items","limit","nextCursor"],"title":"ListResultAccessKeyResponse"},"MANAGEMENT_API_ErrorDetail":{"type":"object","properties":{"location":{"type":"string","description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'"},"message":{"type":"string","description":"Error message text"},"value":{"description":"The value at the given location"}},"title":"ErrorDetail"},"MANAGEMENT_API_ErrorModel":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem."},"errors":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_ErrorDetail"},"description":"Optional list of individual error details"},"instance":{"type":"string","format":"uri","description":"A URI reference that identifies the specific occurrence of the problem."},"status":{"type":"integer","format":"int64","description":"HTTP status code"},"title":{"type":"string","description":"A short, human-readable summary of the problem type. This value should not change between occurrences of the error."},"type":{"type":"string","format":"uri","default":"about:blank","description":"A URI reference to human-readable documentation for the error."}},"title":"ErrorModel"},"MANAGEMENT_API_CreateAccessKeyAudienceRequest":{"type":"object","properties":{"audienceName":{"type":"string","description":"name of the intended consumer of the Access Key"},"scopes":{"type":"array","items":{"type":"string"},"description":"requested scopes of the access key"}},"required":["audienceName","scopes"],"title":"CreateAccessKeyAudienceRequest"},"MANAGEMENT_API_CreateAccessKeyRequest":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"accountId":{"type":"integer","format":"int64","minimum":0,"maximum":10000000,"description":"Id of the taxcloud account created in the access key"},"audiences":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_CreateAccessKeyAudienceRequest"}},"name":{"type":"string","description":"name of the access key"}},"required":["accountId","name"],"title":"CreateAccessKeyRequest"},"MANAGEMENT_API_CreateAccountContactRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^[^ <>,;:]+@[^ <>,;:]+$","minLength":3,"maxLength":100,"description":"Contact email. Must be a bare address with no display name. Defaults to the account email when omitted. Must not already belong to a contact on any account; a repeat is rejected with 409."},"firstName":{"type":"string","maxLength":50,"description":"Contact first name. Maximum 50 characters."},"lastName":{"type":"string","maxLength":50,"description":"Contact last name. Maximum 50 characters."},"phone":{"type":"string","maxLength":16,"description":"Contact phone number."}},"title":"CreateAccountContactRequest"},"MANAGEMENT_API_CreateAccountRequest":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"contact":{"$ref":"#/components/schemas/MANAGEMENT_API_CreateAccountContactRequest","description":"Optional first contact for the account. Use this when the account email is a shared inbox rather than an individual. When omitted, the contact is created against the account email with no name."},"ein":{"type":"string","maxLength":12,"description":"Optional Employer Identification Number. Maximum 12 characters."},"email":{"type":"string","format":"email","pattern":"^[^ <>,;:]+@[^ <>,;:]+$","minLength":3,"maxLength":100,"description":"Primary email for the account. Must be a bare address with no display name. On create, also used for the account's first contact unless a contact object overrides it."},"name":{"type":"string","minLength":1,"maxLength":50,"description":"Legal or trading name of the account. Maximum 50 characters."},"phone":{"type":"string","maxLength":16,"description":"Optional account phone number. Maximum 16 characters."},"stateIncorporated":{"type":"string","pattern":"^[A-Za-z]{2}$","minLength":2,"maxLength":2,"description":"Optional two-letter state code where the business is incorporated."}},"required":["email","name"],"title":"CreateAccountRequest"},"MANAGEMENT_API_AccountContactResponseStatus":{"type":"string","enum":["invited","active"],"description":"invited until the contact accepts terms of service through the login flow, then active.","title":"AccountContactResponseStatus"},"MANAGEMENT_API_AccountContactResponse":{"type":"object","properties":{"contactId":{"type":"integer","format":"int64","description":"Identifier of the contact."},"email":{"type":"string","description":"Contact email."},"firstName":{"type":"string","description":"Contact first name, when one was supplied."},"lastName":{"type":"string","description":"Contact last name, when one was supplied."},"phone":{"type":"string","description":"Contact phone number, when one was supplied."},"status":{"$ref":"#/components/schemas/MANAGEMENT_API_AccountContactResponseStatus","description":"invited until the contact accepts terms of service through the login flow, then active."}},"required":["contactId","email","status"],"title":"AccountContactResponse"},"MANAGEMENT_API_AccountResponse":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"accountId":{"type":"integer","format":"int64","description":"Identifier of the account."},"contact":{"$ref":"#/components/schemas/MANAGEMENT_API_AccountContactResponse","description":"The account's first contact. Returned by create only."},"createdAt":{"type":"string","format":"date-time","description":"When the account was created. Stored to the minute."},"ein":{"type":"string","description":"Employer Identification Number, when one was supplied."},"email":{"type":"string","description":"Primary email for the account."},"name":{"type":"string","description":"Name of the account."},"phone":{"type":"string","description":"Account phone number, when one was supplied."},"stateIncorporated":{"type":"string","description":"State of incorporation, when one was supplied."}},"required":["accountId","createdAt","email","name"],"title":"AccountResponse"},"MANAGEMENT_API_UpdateAccountRequest":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"ein":{"type":"string","maxLength":12,"description":"Optional Employer Identification Number. Maximum 12 characters."},"email":{"type":"string","format":"email","pattern":"^[^ <>,;:]+@[^ <>,;:]+$","minLength":3,"maxLength":100,"description":"Primary email for the account. Must be a bare address with no display name. On create, also used for the account's first contact unless a contact object overrides it."},"name":{"type":"string","minLength":1,"maxLength":50,"description":"Legal or trading name of the account. Maximum 50 characters."},"phone":{"type":"string","maxLength":16,"description":"Optional account phone number. Maximum 16 characters."},"stateIncorporated":{"type":"string","pattern":"^[A-Za-z]{2}$","minLength":2,"maxLength":2,"description":"Optional two-letter state code where the business is incorporated."}},"required":["email","name"],"title":"UpdateAccountRequest"},"MANAGEMENT_API_MgmtConnectionsConnectionIdProductsGetParametersSortBy":{"type":"string","enum":["createdAt","updatedAt","connectionId","id"],"default":"id","description":"The field you want to sort by.","title":"MgmtConnectionsConnectionIdProductsGetParametersSortBy"},"MANAGEMENT_API_ProductResponse":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"channel":{"type":["string","null"],"description":"The type of channel the product comes from (e.g., amazon, walmart etc.)"},"connectionId":{"type":"string"},"externalTaxCode":{"type":"string","description":"Tax code from the external platform, used as the lookup key in taxonomy mappings to derive a default TIC. Merchants may override the resulting TIC."},"id":{"type":"integer","format":"int64"},"productId":{"type":"string","description":"ID of the product in the given connection & channel"},"productName":{"type":["string","null"],"description":"Name of the product for description purposes (not used in mapping)"},"tic":{"type":["integer","null"],"format":"int64","minimum":10000,"maximum":99999,"description":"TIC number for the product"}},"required":["channel","connectionId","id","productId","productName"],"title":"ProductResponse"},"MANAGEMENT_API_ListResultProductResponse":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"items":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductResponse"}},"limit":{"type":"integer","format":"int64","minimum":0,"maximum":100,"description":"Maximum results per page"},"nextCursor":{"type":["string","null"]}},"required":["items","limit","nextCursor"],"title":"ListResultProductResponse"},"MANAGEMENT_API_ProductRequest":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"channel":{"type":["string","null"],"description":"The type of channel the product comes from (e.g., amazon, walmart etc.). It accepts any string and attempts to snake_case the input."},"externalTaxCode":{"type":["string","null"],"description":"Tax code from the external platform, used as the lookup key in taxonomy mappings to derive a default TIC. Merchants may override the resulting TIC."},"productId":{"type":"string","description":"ID of the product in the given connection & channel"},"productName":{"type":["string","null"],"description":"Name of the product for description purposes (not used in mapping)"},"tic":{"type":["integer","null"],"format":"int64","minimum":0,"maximum":99999,"description":"TIC number for the product"}},"required":["productId"],"title":"ProductRequest"},"MANAGEMENT_API_BulkProductRequest":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"products":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductRequest"},"description":"Products to upload (upsert operation)"}},"required":["products"],"title":"BulkProductRequest"},"MANAGEMENT_API_BulkProductResponse":{"type":"object","properties":{"$schema":{"type":"string","format":"uri","description":"A URL to the JSON Schema for this object."},"products":{"type":"array","items":{"$ref":"#/components/schemas/MANAGEMENT_API_ProductResponse"}}},"required":["products"],"title":"BulkProductResponse"}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"This authentication type can be used to directly call the service."},"apiKey":{"type":"apiKey","in":"header","name":"X-API-KEY","description":"This authentication type is supported by using the provided API key for the merchant account."}}}}