---
title: Create
slug: xero/create
description: Learn how to create a customer with all possible details using Apex code in this document. Get insights on populating Contact object fields like name, email, phone numbers, and addresses. Discover how to use a request JSON to create a customer through the
docTags: 
createdAt: 2021-11-02T07:43:38.000Z
---

The following is an example to create a Customer with every possible field available (See [Contact](docId\:xpSz7quTZphbPo3vuSTz_) for the available fields)

:::CodeblockTabs
Request

```apex
//  Create a Map to store all the data of a Contact
Map<String, Object> contactMap = new Map<String, Object>(); 
    contactMap.put('Name', 'Breadwinner Inc');
    contactMap.put('FirstName', 'Jack');
    contactMap.put('LastName', 'Rogers');
    contactMap.put('EmailAddress', 'jrogers@burlington.com');

    List<Object> phonesList = new List<Object>();
    Map<String, Object> DefaultPhone = new Map<String, Object>();
    DefaultPhone.put('PhoneType', 'DEFAULT');
    DefaultPhone.put('PhoneNumber', '9988543562');
    phonesList.add(DefaultPhone);
    contactMap.put('Phones', phonesList);

    List<Object> addressList = new List<Object>();
    Map<String, Object> shippingAddressMap = new Map<String, Object>();
        shippingAddressMap.put('AddressType', 'STREET');
        shippingAddressMap.put('Country', 'India');
        shippingAddressMap.put('AddressLine3', 'Kodad');
        shippingAddressMap.put('AddressLine2', 'First Lane');
        shippingAddressMap.put('AddressLine1', '1-24');
        shippingAddressMap.put('PostalCode', '508238');
        shippingAddressMap.put('City', 'Suryapet');
        shippingAddressMap.put('Region', 'India');
        shippingAddressMap.put('AttentionTo', 'User');
        addressList.add(shippingAddressMap);
        
    Map<String, Object> billingAddrFieldMap = new Map<String, Object>();
        billingAddrFieldMap.put('AddressType', 'POBOX');
        billingAddrFieldMap.put('Country', 'India');
        billingAddrFieldMap.put('AddressLine3', '');
        billingAddrFieldMap.put('AddressLine2', 'Srinagar Colony');
        billingAddrFieldMap.put('AddressLine1', '1/78-24');
        billingAddrFieldMap.put('PostalCode', '500008');
        billingAddrFieldMap.put('City', 'Hyderabad');
        billingAddrFieldMap.put('Region', 'India');
        billingAddrFieldMap.put('AttentionTo', 'User');
        addressList.add(billingAddrFieldMap);
        
    contactMap.put('Addresses', addressList);

//  Initializing the RequestJSON Data to be passed.
Map<String, Object> requestJSONMap = new Map<String, Object>();
    requestJSONMap.put('contacts', new List<Object>{contactMap});
    String reqJSON = JSON.serialize(requestJSONMap);

Map<String, Object> reqObj = new Map<String, Object>();
    reqObj.put('version', '1.0');
    reqObj.put('action', 'createContact');
    reqObj.put('requestJSON', reqJSON);
    //Required, if Xero Multi-Org is enabled in Breadwinner. 
    reqObj.put('xeroOrgId', '!aa00TM'); 

//  Placing a request to Breadwinner Global API
Map<String, Object> respMap = bread_winner.BreadwinnerXeroAPI.call(reqObj);
System.debug(respMap);
```

Response

```json
{
    action=createContact, 
    responseJSON={ 
        "statusCode":"200",
        "contacts":[
            {
                "Website":null,
                "TaxNumber":null,
                "SkypeUserName":null,
                "SalesTrackingCategories":null,
                "SalesDefaultAccountCode":null,
                "SalesforceRecordId":"a016O00000r0l3rQAA",
                "PurchasesTrackingCategories":null,
                "PurchasesDefaultAccountCode":null,
                "Phones":[
                    {
                    "PhoneType":"DEFAULT",
                    "PhoneNumber":"9988543562",
                    "PhoneCountryCode":"",
                    "PhoneAreaCode":""
                    }
                ],
                "Phone":null,
                "PaymentTerms":{
                    "Sales":null,
                    "Bills":null
                },
                "Name":"Breadwinner Inc",
                "LastName":"Rogers",
                "LastModifiedInXero":null,
                "IsSupplier":null,
                "IsCustomer":null,
                "FirstName":"Jack",
                "Fax":null,
                "errorMessage":null,
                "EmailAddress":"jrogers@burlington.com",
                "Discount":null,
                "DefaultCurrency":null,
                "CreatedDateInXero":null,
                "ContactStatus":"ACTIVE",
                "ContactPersons":[
                    {
                    "LastName":"",
                    "IncludeInEmails":null,
                    "FirstName":"",
                    "EmailAddress":""
                    },
                    {
                    "LastName":"",
                    "IncludeInEmails":null,
                    "FirstName":"",
                    "EmailAddress":""
                    },
                    {
                    "LastName":"",
                    "IncludeInEmails":null,
                    "FirstName":"",
                    "EmailAddress":""
                    },
                    {
                    "LastName":"",
                    "IncludeInEmails":null,
                    "FirstName":"",
                    "EmailAddress":""
                    },
                    {
                    "LastName":"",
                    "IncludeInEmails":null,
                    "FirstName":"",
                    "EmailAddress":""
                    }
                ],
                "ContactID":"950f2525-14a8-4871-8348-980d6b9c5757",
                "BrandingTheme":null,
                "Balances":null,
                "Addresses":[
                    {
                    "Region":"India",
                    "PostalCode":"500008",
                    "Country":"India",
                    "City":"Hyderabad",
                    "AttentionTo":"User",
                    "AddressType":"POBOX",
                    "AddressLine4":"",
                    "AddressLine3":"",
                    "AddressLine2":"Srinagar Colony",
                    "AddressLine1":"1/78-24"
                    }
                ],
                "AccountsReceivableTaxType":null,
                "AccountsPayableTaxType":null,
                "AccountNumber":""
            }
        ],
        "errors":[
        ],
    
    }, 
    timestamp=1635849847648, 
    validRequest=true, 
    version=1.0
}

```
:::

