Company profile
State the company profile
Record what your Tenancy says about the company behind it, and receive the profile back with the moment it was recorded.
PUT
A Company profile is what your Tenancy says about the company behind it: the legal entity, the market, its time zone, and optionally a brand name and a legal form. This call records it whole and answers
200 with the profile as recorded.
A Tenancy holds one profile. This call is both the first statement and every correction after it: onboarding and a later correction are the same act performed at different times, so both answer 200 and a caller cannot tell them apart by status. A statement replaces what the last one said, and no call answers what it replaced.
The body is read whole. A field you leave out is you saying the company has none, and there is no partial edit — a
PATCH would have to answer whether an absent brand means keep or clear, and this call never has to.Path parameters
string
required
The Tenancy the profile belongs to. 1–64 characters of
a–z A–Z 0–9 - _. A key authenticates for one Tenancy and the path names it; another Tenancy’s path answers 403.Body
string
required
The company as its own registry of companies has it. 1 to 200 characters. Stated as
"" or null it is refused 422, the same as leaving it out.string
required
Where the company lends, as an ISO 3166-1 alpha-2 code. One of the 50 countries the Platform names; anything else is refused
422 naming the country. It is not the jurisdiction of any Loan — that is stated per Loan and gates issuance on its own.integer
deprecated
Retired — leave it out. The profile no longer holds a rate: a Loan’s tax is one of the rules its jurisdiction admits, stated in the Loan’s
tax. Until 15 January 2027 a statement carrying this field is accepted with the field ignored, whatever it holds, and the answer carries Deprecation: @1799971200, Sunset: Fri, 15 Jan 2027 00:00:00 GMT and a Link to the changelog entry. From that day it is refused 400 naming the field.string
required
The company’s own civil clock, as an IANA zone name —
America/Mexico_City, not an offset. Required: which day a moment falls on for this company is not something the Platform assumes, and every Decision and Facility is refused until a zone stands.The Console prefills it from the country registry entry’s suggested_time_zone and you confirm or change it. A country is not a zone — Mexico spans three — so the Platform never writes one on your behalf, and what a record freezes is the value you stated and never the suggestion. Absent or blank is refused 422 invalid_statement; a name the zone database does not carry is refused 422 invalid_time_zone.string
The name the products go out under, where it differs from the legal one. 1 to 200 characters. Leave the field out when the company trades under its own name:
"" and null are refused 422, because a brand present with no value and a company that states no brand would otherwise be the same statement, and the second is the ordinary case.string
The legal form the company is registered under, named as its own country names it. 1 to 200 characters, and held against no list: the Platform offers legal forms per market and refuses none. Left out, absent, the same way
brand_name is.Response
string
required
As stated.
string
required
As stated.
string
As stated, and absent from the answer when the statement made none rather than answered as an empty string.
string
As stated, and absent the same way.
string
As stated. Omitted only on a profile stated before this field existed — never a zone the Platform chose. State the profile again to give it one.
string
required
RFC 3339 in UTC: the moment the Platform recorded the statement. Restating a profile you already hold records nothing and answers the moment that stands, so a retry after a lost response carries the same
stated_at as the attempt it repeats.Refusals
Each refusal names the field or the value it is about inerror, and the kind of refusal in code.