curl -X POST "https://app.usatimbre.com/api/timbre/create-profile" \
-H "Authorization: Bearer tmb_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"tax_info": {
"tax_id": "XAXX010101000",
"taxpayer": "Juan Pérez",
"street": "Calle Principal 123",
"ext_num": "123",
"neighborhood": "Centro",
"city": "Ciudad de México",
"state": "CDMX",
"country": "México",
"postal_code": "12345",
"fiscal_regimen": "601",
"cfdi_use": "G03"
},
"email": "juan@example.com",
"phone_number": "+525512345678"
}'
const response = await fetch('https://app.usatimbre.com/api/timbre/create-profile', {
method: 'POST',
headers: {
'Authorization': 'Bearer tmb_your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
tax_info: {
tax_id: 'XAXX010101000',
taxpayer: 'Juan Pérez',
street: 'Calle Principal 123',
ext_num: '123',
neighborhood: 'Centro',
city: 'Ciudad de México',
state: 'CDMX',
country: 'México',
postal_code: '12345',
fiscal_regimen: '601',
cfdi_use: 'G03'
},
email: 'juan@example.com',
phone_number: '+525512345678'
})
});
const profile = await response.json();
import requests
response = requests.post(
'https://app.usatimbre.com/api/timbre/create-profile',
headers={
'Authorization': 'Bearer tmb_your_api_key_here',
'Content-Type': 'application/json'
},
json={
'tax_info': {
'tax_id': 'XAXX010101000',
'taxpayer': 'Juan Pérez',
'street': 'Calle Principal 123',
'ext_num': '123',
'neighborhood': 'Centro',
'city': 'Ciudad de México',
'state': 'CDMX',
'country': 'México',
'postal_code': '12345',
'fiscal_regimen': '601',
'cfdi_use': 'G03'
},
'email': 'juan@example.com',
'phone_number': '+525512345678'
}
)
profile = response.json()
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Juan Pérez",
"email": "juan@example.com",
"phone_number": "+525512345678",
"tax_id": "XAXX010101000",
"org_id": "org_123456",
"created_at": "2024-01-21T10:00:00Z"
}
{
"error": "Bad Request",
"message": "Invalid RFC format"
}
{
"error": "Conflict",
"message": "Profile with this RFC already exists"
}
API Timbre (Facturas)
Create Profile
Create new profile in organization with tax info
POST
/
api
/
timbre
/
create-profile
curl -X POST "https://app.usatimbre.com/api/timbre/create-profile" \
-H "Authorization: Bearer tmb_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"tax_info": {
"tax_id": "XAXX010101000",
"taxpayer": "Juan Pérez",
"street": "Calle Principal 123",
"ext_num": "123",
"neighborhood": "Centro",
"city": "Ciudad de México",
"state": "CDMX",
"country": "México",
"postal_code": "12345",
"fiscal_regimen": "601",
"cfdi_use": "G03"
},
"email": "juan@example.com",
"phone_number": "+525512345678"
}'
const response = await fetch('https://app.usatimbre.com/api/timbre/create-profile', {
method: 'POST',
headers: {
'Authorization': 'Bearer tmb_your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
tax_info: {
tax_id: 'XAXX010101000',
taxpayer: 'Juan Pérez',
street: 'Calle Principal 123',
ext_num: '123',
neighborhood: 'Centro',
city: 'Ciudad de México',
state: 'CDMX',
country: 'México',
postal_code: '12345',
fiscal_regimen: '601',
cfdi_use: 'G03'
},
email: 'juan@example.com',
phone_number: '+525512345678'
})
});
const profile = await response.json();
import requests
response = requests.post(
'https://app.usatimbre.com/api/timbre/create-profile',
headers={
'Authorization': 'Bearer tmb_your_api_key_here',
'Content-Type': 'application/json'
},
json={
'tax_info': {
'tax_id': 'XAXX010101000',
'taxpayer': 'Juan Pérez',
'street': 'Calle Principal 123',
'ext_num': '123',
'neighborhood': 'Centro',
'city': 'Ciudad de México',
'state': 'CDMX',
'country': 'México',
'postal_code': '12345',
'fiscal_regimen': '601',
'cfdi_use': 'G03'
},
'email': 'juan@example.com',
'phone_number': '+525512345678'
}
)
profile = response.json()
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Juan Pérez",
"email": "juan@example.com",
"phone_number": "+525512345678",
"tax_id": "XAXX010101000",
"org_id": "org_123456",
"created_at": "2024-01-21T10:00:00Z"
}
{
"error": "Bad Request",
"message": "Invalid RFC format"
}
{
"error": "Conflict",
"message": "Profile with this RFC already exists"
}
Overview
Create a new profile within your organization, including complete tax information for invoice generation.Request Body
object
required
Tax information object
Show tax_info properties
Show tax_info properties
string
required
RFC (Registro Federal de Contribuyentes). Example:
XAXX010101000string
required
Legal name of the taxpayer
string
Street address
string
External number
string
Neighborhood (Colonia)
string
City
string
State
string
Country
string
required
Postal code (Código Postal)
string
required
Fiscal regimen code (e.g.,
601)string
required
CFDI usage code (e.g.,
G03)string
Email address for the profile
string
Phone number with country code (e.g.,
+525512345678)Response
Returns the created profile object.string
Unique profile identifier (UUID)
string
Profile name (derived from taxpayer)
string
Email address
string
RFC
string
Organization ID
string
ISO 8601 timestamp
curl -X POST "https://app.usatimbre.com/api/timbre/create-profile" \
-H "Authorization: Bearer tmb_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"tax_info": {
"tax_id": "XAXX010101000",
"taxpayer": "Juan Pérez",
"street": "Calle Principal 123",
"ext_num": "123",
"neighborhood": "Centro",
"city": "Ciudad de México",
"state": "CDMX",
"country": "México",
"postal_code": "12345",
"fiscal_regimen": "601",
"cfdi_use": "G03"
},
"email": "juan@example.com",
"phone_number": "+525512345678"
}'
const response = await fetch('https://app.usatimbre.com/api/timbre/create-profile', {
method: 'POST',
headers: {
'Authorization': 'Bearer tmb_your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
tax_info: {
tax_id: 'XAXX010101000',
taxpayer: 'Juan Pérez',
street: 'Calle Principal 123',
ext_num: '123',
neighborhood: 'Centro',
city: 'Ciudad de México',
state: 'CDMX',
country: 'México',
postal_code: '12345',
fiscal_regimen: '601',
cfdi_use: 'G03'
},
email: 'juan@example.com',
phone_number: '+525512345678'
})
});
const profile = await response.json();
import requests
response = requests.post(
'https://app.usatimbre.com/api/timbre/create-profile',
headers={
'Authorization': 'Bearer tmb_your_api_key_here',
'Content-Type': 'application/json'
},
json={
'tax_info': {
'tax_id': 'XAXX010101000',
'taxpayer': 'Juan Pérez',
'street': 'Calle Principal 123',
'ext_num': '123',
'neighborhood': 'Centro',
'city': 'Ciudad de México',
'state': 'CDMX',
'country': 'México',
'postal_code': '12345',
'fiscal_regimen': '601',
'cfdi_use': 'G03'
},
'email': 'juan@example.com',
'phone_number': '+525512345678'
}
)
profile = response.json()
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Juan Pérez",
"email": "juan@example.com",
"phone_number": "+525512345678",
"tax_id": "XAXX010101000",
"org_id": "org_123456",
"created_at": "2024-01-21T10:00:00Z"
}
{
"error": "Bad Request",
"message": "Invalid RFC format"
}
{
"error": "Conflict",
"message": "Profile with this RFC already exists"
}
⌘I