Fincore · API reference · Business Units
Mark a Business Unit as validated
Base URL https://apicore.stg.finch.lat · operationId validateCustomer
Updates the Business Unit validation status. Use only validated Business Units for production payment flows.
Authorization
JWT bearer token created from client credentials. Use the Authentication guide to generate a token before calling protected endpoints.
Path parameters
clientId string (uuid) requiredClient UUID.
id string (uuid) requiredCustomer UUID.
Responses
200 Business Unit validation status updated. application/json
id string (uuid) requiredBusiness Unit UUID.
clientId string (uuid) requiredClient UUID that owns the Business Unit.
name string requiredLegal name of the Business Unit.
rfc string requiredRFC tax identifier of the Business Unit.
legalRepresentativeName string requiredFull name of the legal representative.
legalRepresentativeRfc string requiredRFC tax identifier of the legal representative.
legalRepresentativePhone string requiredContact phone number of the legal representative.
legalRepresentativeEmail string (email) requiredContact email of the legal representative.
website string (uri) Business Unit website when available.
domain string Business Unit domain when available.
customerAlias string Short alias used to identify the Business Unit.
customerStatus string Business Unit lifecycle status.
ACTIVE INACTIVE BLOCKED customerValidationStatus string Business Unit validation status.
PENDING VALIDATED REJECTED audit object Business Unit lifecycle timestamps.
createdAt audit.createdAt string (date-time) Timestamp when the resource was created.
updatedAt audit.updatedAt string (date-time) Timestamp when the resource was last updated.
deletedAt audit.deletedAt string | null Timestamp when the resource was deleted. When it was never deleted the API returns the literal string "None", not JSON null. Do not test this field for null.
blockedAt audit.blockedAt string | null Timestamp when the resource was blocked. When it was never blocked the API returns the literal string "None", not JSON null. Do not test this field for null.
activatedAt audit.activatedAt string | null Timestamp when the resource was activated, or null.
suspendedAt audit.suspendedAt string | null Timestamp when the resource was suspended, or null.
400 Business Unit validation request is invalid. Possible causes: malformed clientId or Business Unit id, or unsupported validation state transition. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See Authentication. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
404 Business Unit was not found for the supplied client. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
Request
curl -X PUT "https://apicore.stg.finch.lat/v1/clients/c2d1d1e3-3340-4170-980e-e9269bbbc551/customers/{id}/validate" \
-H "Authorization: Bearer $TOKEN"const res = await fetch("https://apicore.stg.finch.lat/v1/clients/c2d1d1e3-3340-4170-980e-e9269bbbc551/customers/{id}/validate", {
method: "PUT",
headers: {
"Authorization": `Bearer ${TOKEN}`,
},
});
const data = await res.json();import requests
res = requests.put(
"https://apicore.stg.finch.lat/v1/clients/c2d1d1e3-3340-4170-980e-e9269bbbc551/customers/{id}/validate",
headers={
"Authorization": f"Bearer {TOKEN}",
},
)
data = res.json()Response
{
"id": "bb1e8fde-e68e-48e9-a483-d32153c752c2",
"clientId": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
"name": "Business Unit ABC",
"rfc": "XAXX010101000",
"legalRepresentativeName": "Jane Doe",
"legalRepresentativeRfc": "XAXX010101000",
"legalRepresentativePhone": "5555555555",
"legalRepresentativeEmail": "legal@example.com",
"website": "https://example.com",
"domain": "example.com",
"customerAlias": "BU ABC",
"customerStatus": "ACTIVE",
"customerValidationStatus": "VALIDATED",
"audit": {
"createdAt": "2025-03-05 11:00:56.264527-06:00",
"updatedAt": "2025-03-05 11:00:56.264527-06:00",
"deletedAt": "None",
"blockedAt": "None",
"activatedAt": null,
"suspendedAt": null
}
}{
"code": 9,
"message": "API Error",
"details": [
{
"reason": "FAILED_PRECONDITION",
"domain": "CORE",
"metadata": {
"error_detail": "The account does not have sufficient funds.",
"http_code": "400",
"error_code": "10-E4120"
}
}
]
}{
"code": 16,
"message": "API Error",
"details": [
{
"reason": "UNAUTHORIZED",
"domain": "CORE",
"metadata": {
"error_detail": "Invalid Credentials",
"http_code": "401"
}
}
]
}{
"code": 9,
"message": "API Error",
"details": [
{
"reason": "FAILED_PRECONDITION",
"domain": "CORE",
"metadata": {
"error_detail": "The account does not have sufficient funds.",
"http_code": "400",
"error_code": "10-E4120"
}
}
]
}