> For the complete documentation index, see [llms.txt](https://developers.bloomcredit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.bloomcredit.io/reference/core/consumers/creates-a-consumer.md).

# Creates a consumer

Create a Consumer record to be used in either Data Access of Furnishment APIs. Consumer will be stored for further uses.

```json
{"openapi":"3.1.0","info":{"title":"Core","version":"2.0"},"tags":[{"name":"Consumers"}],"servers":[{"description":"Furnishment sandbox server, for testing purposes (v2)","url":"https://sandbox.bloom.dev"},{"description":"Furnishment server","url":"https://api.bloomcredit.io"},{"description":"Production Consumer Permissioned Data server","url":"https://api.bloomplus.com"},{"description":"Development Consumer Permissioned Data server","url":"https://api.bloomplus.dev"}],"security":[{"OAuth2Application":["data-access:all","furnishment:all"]}],"components":{"securitySchemes":{"OAuth2Application":{"description":"Unified OAuth2 for Bloom, with implicit grant flow","flows":{"implicit":{"authorizationUrl":"https://authn.bloomcredit.dev/oauth2/token","scopes":{"data-access:all":"Grants data-access clients access to organization-specific information","furnishment:all":"Grants furnishment clients access to organization-specific information"}}},"type":"oauth2"}},"schemas":{"jsonapi.RequestBody-consumer_CreateRequest":{"properties":{"data":{"$ref":"#/components/schemas/jsonapi.Entity-consumer_CreateRequest"}},"required":["data"],"type":"object"},"jsonapi.Entity-consumer_CreateRequest":{"properties":{"attributes":{"$ref":"#/components/schemas/consumer.CreateRequest"},"type":{"type":"string"}},"required":["attributes"],"type":"object"},"consumer.CreateRequest":{"properties":{"addresses":{"items":{"$ref":"#/components/schemas/models.Address"},"type":"array"},"date_of_birth":{"description":"Date of birth. Accepted formats: yyyy-MM-dd or yyyyMMdd.","format":"date","type":"string"},"emails":{"items":{"$ref":"#/components/schemas/models.Email"},"type":"array"},"income":{"description":"Income of the consumer as numeric whole number.","type":"string"},"ip_address":{"description":"IP address of the consumer in either IPv4 (x.x.x.x) or IPv6 (x:x:x:x:x:x:x:x) format.","type":"string"},"name":{"$ref":"#/components/schemas/models.Name"},"phones":{"items":{"$ref":"#/components/schemas/models.Phone"},"type":"array"},"ssn":{"description":"Social security number. SSN must have 9 digits only with either a space or a dash as separator\n\tSome valid examples of the SSN are:\n\t\t    '123-45-6789', '123 45 6789', '123456789'.\n\n\tSSN with the first group of three digits (area group) between the range of 900-999 are considered invalid\n\tas described in https://www.ssa.gov/employer/randomization.html.\n\n\tPartial SSN can be provided by zero filling the first 3 digits, the first 5 digits, or the last 4 digits.\n\n\tFor testing scenarios, the first group can start with '666'.\n\n\tTo submit an Employer Identification Number (EIN) that starts with 9, set the `type` field to `business`. This bypasses the 900-999 area group restriction for business entities.","type":"string"},"type":{"description":"Consumer type. When set to `business`, SSN validation is relaxed to allow Employer Identification Numbers (EINs) with a first digit of 9, which would otherwise be rejected by the 900-999 area group restriction.","enum":["business"],"type":"string"}},"required":["addresses","name"],"type":"object"},"models.Address":{"properties":{"city":{"description":"City code","maxLength":50,"type":"string"},"id":{"format":"uuid","type":"string"},"line1":{"description":"Address basic info","maxLength":100,"type":"string"},"line2":{"description":"Address complementary info","type":"string"},"primary":{"description":"Flag to indicate if the address is the primary one","type":"boolean"},"state_code":{"allOf":[{"$ref":"#/components/schemas/StateCode"}],"description":"Must be a valid 2-character US state, US territory, or military state code (AA, AE, or AP)."},"type":{"description":"Type of address, personal/work","enum":["personal","work"],"type":"string"},"zipcode":{"description":"Address postal code. For US addresses, a 5-digit format is required.","type":"string"}},"required":["city","line1","state_code","zipcode"],"type":"object"},"StateCode":{"description":"States and their respective codes.\n\n- `AL`: ALABAMA\n- `AK`: ALASKA\n- `AS`: AMERICAN_SAMOA\n- `AZ`: ARIZONA\n- `AR`: ARKANSAS\n- `CA`: CALIFORNIA\n- `CO`: COLORADO\n- `CT`: CONNECTICUT\n- `DE`: DELAWARE\n- `DC`: DISTRICT_OF_COLUMBIA\n- `FM`: FEDERATED_STATES_OF\n- `FL`: FLORIDA\n- `GA`: GEORGIA\n- `GU`: GUAM\n- `HI`: HAWAII\n- `ID`: IDAHO\n- `IL`: ILLINOIS\n- `IN`: INDIANA\n- `IA`: IOWA\n- `KS`: KANSAS\n- `KY`: KENTUCKY\n- `LA`: LOUISIANA\n- `ME`: MAINE\n- `MH`: MARSHALL_ISLANDS\n- `MD`: MARYLAND\n- `MA`: MASSACHUSETTS\n- `MI`: MICHIGAN\n- `PR`: MICRONESIA_PUERTO_RICO\n- `AE`: MILITARY_IN_EUROPE_MIDDLE_EAST_AFRICA_CANADA\n- `AA`: MILITARY_IN_THE_AMERICAS_OTHER_THAN_CANADA\n- `AP`: MILITARY_IN_THE_PACIFIC_THEATER\n- `MN`: MINNESOTA\n- `MS`: MISSISSIPPI\n- `MO`: MISSOURI\n- `MT`: MONTANA\n- `NE`: NEBRASKA\n- `NV`: NEVADA\n- `NH`: NEW_HAMPSHIRE\n- `NJ`: NEW_JERSEY\n- `NM`: NEW_MEXICO\n- `NY`: NEW_YORK\n- `MP`: NORTHERN_MARIANA_ISLANDS\n- `NC`: NORTH_CAROLINA\n- `ND`: NORTH_DAKOTA\n- `OH`: OHIO\n- `OK`: OKLAHOMA\n- `OR`: OREGON\n- `PW`: PALAU\n- `PA`: PENNSYLVANIA\n- `RI`: RHODE_ISLAND\n- `SC`: SOUTH_CAROLINA\n- `SD`: SOUTH_DAKOTA\n- `TN`: TENNESSEE\n- `TX`: TEXAS\n- `UT`: UTAH\n- `VT`: VERMONT\n- `VA`: VIRGINIA\n- `VI`: VIRGIN_ISLANDS\n- `WA`: WASHINGTON\n- `WV`: WESTVIRGINIA\n- `WI`: WISCONSIN\n- `WY`: WYOMING","enum":["AL","AK","AS","AZ","AR","CA","CO","CT","DE","DC","FM","FL","GA","GU","HI","ID","IL","IN","IA","KS","KY","LA","ME","MH","MD","MA","MI","PR","AE","AA","AP","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","MP","NC","ND","OH","OK","OR","PW","PA","RI","SC","SD","TN","TX","UT","VT","VA","VI","WA","WV","WI","WY"],"title":"StateCode","type":"string"},"models.Email":{"properties":{"email_address":{"description":"Email Address. Supports the format described by IEFT RFC 5322 https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.\n\tA valid email address consists of a local and a domain section, separated by an '@' character.\n\tSome valid examples of a valid email address are:\n\t* john.doe@example.com\n\t* john_doe@example.com\n\t* john-doe@example.com\n\t* johndoe@example.com\n\t* John Doe <johndoe@example.com>\n\t* johndoe+business@example.com (the '+' character is allowed in the local section)\n\t* johndoe+business@subdomain.example.com (subdomains work as well)\n\t* \"john-doe\"@examle.com (the local section can be quoted by double quotes only)\n\t* \"^john$doe*\"@example.com (when the local section is quoted, '!#$%&'*+-/=?^_`{|}~' characters are allowed)","type":"string"},"primary":{"description":"primary email or not","type":"boolean"},"type":{"description":"type of email, personal/work","enum":["personal","work"],"type":"string"}},"required":["email_address"],"type":"object"},"models.Name":{"properties":{"first_name":{"description":"Consumer first name.","type":"string"},"generation_code":{"description":"GenerationCode is used to refer for same-first name people within the family. Possible values:\n\t* Jr - Junior\n\t* Sr - Senior\n\t* II - means the second\n\t* III - the third\n\t* IV - the fourth with the name\n\t* V - as the emperor Charles\n\t* VI - the sixth with the name\n\t* VII - the seventh with the name\n\t* VIII - the eight with the name\n\t* IX - the ninth with the name","enum":["Jr","Sr","II","III","IV","V","VI","VII","VIII","IX"],"type":"string"},"last_name":{"description":"Consumer last name.","type":"string"},"middle_name":{"description":"Consumer middle name.","type":"string"}},"required":["first_name","last_name"],"type":"object"},"models.Phone":{"properties":{"phone_number":{"description":"Phone number. Format must follow the NANP in 10-digit notation. Can include spaces, dashes, or periods, may be prefixed with US country code or include parenthesized area code.\n\tNote that only US phone numbers are accepted, as is by credit bureaus (country codes other than 1 or +1 are rejected).\n\tIn order to improve bureau match rates, phone numbers are normalized internally to remove any non-numeric characters.\n\n\tSome examples of a valid phone number are as follows:\n\t\"1234567890\",\n\t\"123-456-7890\",\n\t\"123 456 7890\",\n\t\"(123) 456 7890\",\n\t\"(123) 456-7890\",\n\t\"(123)456-7890\",\n\t\"123.456.7890\",\n\t\"123 456-7890\",\n\t\"+1123 456-7890\",\n\t\"1123 456-7890\",\n\t\"+1(123) 456-7890\"","type":"string"},"primary":{"description":"primary phone or not","type":"boolean"},"type":{"description":"type of phone, personal/work","enum":["personal","work"],"type":"string"}},"required":["phone_number"],"type":"object"},"jsonapi.ResponseBody-consumer_CreateRequest":{"properties":{"data":{"$ref":"#/components/schemas/jsonapi.Entity-consumer_CreateRequest"}},"required":["data"],"type":"object"},"jsonapi.FailureResponse":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/jsonapi.Error"},"type":"array"}},"required":["errors"],"type":"object"},"jsonapi.Error":{"properties":{"detail":{"type":"string"},"status":{"type":"integer"},"title":{"type":"string"}},"required":["status","title"],"type":"object"}}},"paths":{"/v2/core/consumers":{"post":{"description":"Create a Consumer record to be used in either Data Access of Furnishment APIs. Consumer will be stored for further uses.","operationId":"createConsumerV2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.RequestBody-consumer_CreateRequest"}}},"description":"Consumer data","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.ResponseBody-consumer_CreateRequest"}}},"description":"Created"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.FailureResponse"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.FailureResponse"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.FailureResponse"}}},"description":"Forbidden"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.FailureResponse"}}},"description":"Unprocessable Entity"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/jsonapi.FailureResponse"}}},"description":"Internal Server Error"}},"summary":"Creates a consumer","tags":["Consumers"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.bloomcredit.io/reference/core/consumers/creates-a-consumer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
