Register a merchant and its locations
curl --request POST \
--url https://api.centsless.org/api/v1/partner/merchants/register \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"merchant_name": "Space Coast Hardware",
"external_id": "SCH-1",
"locations": [
{
"location_id": "L1",
"location_name": "<string>",
"address": "<string>",
"zip_code": "<string>",
"state": "<string>",
"time_zone": "America/Chicago",
"mobile": true
}
],
"contact_email": "jsmith@example.com",
"metadata": {}
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchant_name: 'Space Coast Hardware',
external_id: 'SCH-1',
locations: [
{
location_id: 'L1',
location_name: '<string>',
address: '<string>',
zip_code: '<string>',
state: '<string>',
time_zone: 'America/Chicago',
mobile: true
}
],
contact_email: 'jsmith@example.com',
metadata: {}
})
};
fetch('https://api.centsless.org/api/v1/partner/merchants/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.centsless.org/api/v1/partner/merchants/register"
payload = {
"merchant_name": "Space Coast Hardware",
"external_id": "SCH-1",
"locations": [
{
"location_id": "L1",
"location_name": "<string>",
"address": "<string>",
"zip_code": "<string>",
"state": "<string>",
"time_zone": "America/Chicago",
"mobile": True
}
],
"contact_email": "jsmith@example.com",
"metadata": {}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"merchant": {
"merchant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>",
"merchant_name": "<string>",
"contact_email": "<string>",
"status": "<string>",
"api_key": "<string>",
"locations": [
{
"location_id": "<string>",
"internal_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"zip_code": "<string>",
"state": "<string>",
"jurisdiction_id": "<string>",
"rounding_method": "symmetrical_rounding",
"enforcement": "<string>",
"obligation": "<string>",
"legislation": "<string>",
"citation": "<string>",
"legislation_status": "<string>",
"effective_date": "2023-12-25",
"tiers": [
{
"tier_id": "NC-TAX",
"tier_name": "<string>",
"transaction_type": "<string>",
"transaction_types": [
"<string>"
],
"rounding_mode": "symmetrical_rounding",
"enforcement": "<string>",
"obligation": "obligates",
"citation": "<string>",
"effective_date": "2023-12-25",
"sunset_date": "2023-12-25",
"description": "<string>",
"applies_to": "<string>"
}
],
"accepted_transaction_types": [
"<string>"
],
"governing_today": {
"lookup_key": "<string>",
"jurisdiction_level": "<string>",
"activation_state": "in_force",
"rounding_mode": "symmetrical_rounding",
"obligation": "<string>",
"legislation": "<string>",
"citation": "<string>",
"effective_date": "2023-12-25",
"days_until_effective": 123
},
"pending_rules": [
{
"lookup_key": "OK",
"jurisdiction_id": "<string>",
"jurisdiction_level": "<string>",
"legislation": "<string>",
"citation": "<string>",
"tier_id": "<string>",
"tier_name": "<string>",
"scope": "<string>",
"obligation": "<string>",
"event": "<string>",
"rounding_mode": "symmetrical_rounding",
"effective_date": "2023-12-25",
"days_until_effective": 123,
"as_of_local_date": "2023-12-25",
"time_zone": "<string>"
}
],
"local_records": [
{
"level": "tribal",
"key": "FL:BREVARD:TITUSVILLE",
"jurisdiction_id": "<string>",
"status": "<string>",
"activation_state": "in_force",
"engine_supported": true,
"instrument": "<string>",
"evidence_tier": "<string>"
}
],
"resolution": {
"method": "address_geocode",
"confidence": "high",
"source": "<string>",
"vintage": "<string>",
"match_type": "<string>",
"geocoded_at": "2023-11-07T05:31:56Z",
"matched_address": "<string>",
"latitude": 123,
"longitude": 123,
"state_fips": "<string>",
"county_geoid": "<string>",
"county_name": "<string>",
"place_geoid": "<string>",
"place_name": "<string>",
"place_layer": "<string>",
"cousub_geoid": "<string>",
"aiannh_geoid": "<string>",
"aiannh_name": "<string>",
"time_zone": "<string>",
"mobile": true,
"needs_review": true,
"zip_cross_check": {
"registered_zip": "<string>",
"request_zip": "<string>",
"geocoded_zip": "<string>",
"agrees": true,
"note": "<string>"
},
"notes": [
{
"code": "zip_mismatch",
"detail": "<string>"
}
]
},
"status": "<string>"
}
],
"portal_account": {}
}
}{
"error": "INVALID_REQUEST",
"message": "<string>",
"errors": [
"<string>"
]
}{
"error": "INVALID_REQUEST",
"message": "<string>",
"errors": [
"<string>"
]
}Partner
Register a merchant and its locations
Issues the merchant key, resolves each location to its boundaries, and reports the governing rule, pending rules and local records per location. Partner key, or admin with partner_id.
POST
/
partner
/
merchants
/
register
Register a merchant and its locations
curl --request POST \
--url https://api.centsless.org/api/v1/partner/merchants/register \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"merchant_name": "Space Coast Hardware",
"external_id": "SCH-1",
"locations": [
{
"location_id": "L1",
"location_name": "<string>",
"address": "<string>",
"zip_code": "<string>",
"state": "<string>",
"time_zone": "America/Chicago",
"mobile": true
}
],
"contact_email": "jsmith@example.com",
"metadata": {}
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
merchant_name: 'Space Coast Hardware',
external_id: 'SCH-1',
locations: [
{
location_id: 'L1',
location_name: '<string>',
address: '<string>',
zip_code: '<string>',
state: '<string>',
time_zone: 'America/Chicago',
mobile: true
}
],
contact_email: 'jsmith@example.com',
metadata: {}
})
};
fetch('https://api.centsless.org/api/v1/partner/merchants/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.centsless.org/api/v1/partner/merchants/register"
payload = {
"merchant_name": "Space Coast Hardware",
"external_id": "SCH-1",
"locations": [
{
"location_id": "L1",
"location_name": "<string>",
"address": "<string>",
"zip_code": "<string>",
"state": "<string>",
"time_zone": "America/Chicago",
"mobile": True
}
],
"contact_email": "jsmith@example.com",
"metadata": {}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"merchant": {
"merchant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>",
"merchant_name": "<string>",
"contact_email": "<string>",
"status": "<string>",
"api_key": "<string>",
"locations": [
{
"location_id": "<string>",
"internal_location_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"zip_code": "<string>",
"state": "<string>",
"jurisdiction_id": "<string>",
"rounding_method": "symmetrical_rounding",
"enforcement": "<string>",
"obligation": "<string>",
"legislation": "<string>",
"citation": "<string>",
"legislation_status": "<string>",
"effective_date": "2023-12-25",
"tiers": [
{
"tier_id": "NC-TAX",
"tier_name": "<string>",
"transaction_type": "<string>",
"transaction_types": [
"<string>"
],
"rounding_mode": "symmetrical_rounding",
"enforcement": "<string>",
"obligation": "obligates",
"citation": "<string>",
"effective_date": "2023-12-25",
"sunset_date": "2023-12-25",
"description": "<string>",
"applies_to": "<string>"
}
],
"accepted_transaction_types": [
"<string>"
],
"governing_today": {
"lookup_key": "<string>",
"jurisdiction_level": "<string>",
"activation_state": "in_force",
"rounding_mode": "symmetrical_rounding",
"obligation": "<string>",
"legislation": "<string>",
"citation": "<string>",
"effective_date": "2023-12-25",
"days_until_effective": 123
},
"pending_rules": [
{
"lookup_key": "OK",
"jurisdiction_id": "<string>",
"jurisdiction_level": "<string>",
"legislation": "<string>",
"citation": "<string>",
"tier_id": "<string>",
"tier_name": "<string>",
"scope": "<string>",
"obligation": "<string>",
"event": "<string>",
"rounding_mode": "symmetrical_rounding",
"effective_date": "2023-12-25",
"days_until_effective": 123,
"as_of_local_date": "2023-12-25",
"time_zone": "<string>"
}
],
"local_records": [
{
"level": "tribal",
"key": "FL:BREVARD:TITUSVILLE",
"jurisdiction_id": "<string>",
"status": "<string>",
"activation_state": "in_force",
"engine_supported": true,
"instrument": "<string>",
"evidence_tier": "<string>"
}
],
"resolution": {
"method": "address_geocode",
"confidence": "high",
"source": "<string>",
"vintage": "<string>",
"match_type": "<string>",
"geocoded_at": "2023-11-07T05:31:56Z",
"matched_address": "<string>",
"latitude": 123,
"longitude": 123,
"state_fips": "<string>",
"county_geoid": "<string>",
"county_name": "<string>",
"place_geoid": "<string>",
"place_name": "<string>",
"place_layer": "<string>",
"cousub_geoid": "<string>",
"aiannh_geoid": "<string>",
"aiannh_name": "<string>",
"time_zone": "<string>",
"mobile": true,
"needs_review": true,
"zip_cross_check": {
"registered_zip": "<string>",
"request_zip": "<string>",
"geocoded_zip": "<string>",
"agrees": true,
"note": "<string>"
},
"notes": [
{
"code": "zip_mismatch",
"detail": "<string>"
}
]
},
"status": "<string>"
}
],
"portal_account": {}
}
}{
"error": "INVALID_REQUEST",
"message": "<string>",
"errors": [
"<string>"
]
}{
"error": "INVALID_REQUEST",
"message": "<string>",
"errors": [
"<string>"
]
}Authorizations
Body
application/json

