API Reference - ABN Registrations

ABN Registrations endpoint. The Business API suite exposes registration, lodgement, lookup and related functions that can be used for a variety of purposes. For the latest release information please check our release notes.

ABN Registrations

Download Postman collection (all entity types)
Endpoint Overview
  • Production (one step)
    /api/v2/abn-registrations
  • Sandbox (one step)
    /api/test/v2/abn-registrations
  • Production (staged)
    /api/v2/abn-registration-data
  • Sandbox (staged)
    /api/test/v2/abn-registration-data
  • Methods
    POST , GET
  • Agency
    Australian Taxation Office (ATO)
  • Use these endpoints to lodge new Australian Business Number (ABN) registration applications. You can lodge in one step by posting the full payload to /api/v2/abn-registrations, or save the application in stages with /api/v2/abn-registration-data and lodge it when it is complete. Both routes apply the same validation. Use the status endpoint to check the outcome. All responses are delivered in JSON format.

Lodge in One Step

Post the complete application (see the samples and the field reference below) to lodge it straight away. The payload is validated and, if it passes, sent to the ATO. A successful POST returns the request ID, the status received and the billing summary. Use the request ID with the status endpoint to follow the application.

/api/v2/abn-registrations
POST
{
    "requestId": 12240,
    "status": "received",
    "billing": {
        "price_cents": 0,
        "charged_cents": 0
    }
}

billing.price_cents is the price of the lodgement and billing.charged_cents is the amount charged so far (both 0 for a test transmission). If an application for the same entity (same name, plus the same ACN or date of birth) is already in progress under your account, no new lodgement is made: you get the existing request back with a warning instead.

{
    "requestId": 12240,
    "status": "received",
    "warnings": [
        "An ABN registration for this entity is already in progress. Use this requestId to check status."
    ],
    "errors": null,
    "billing": {
        "price_cents": 0,
        "charged_cents": 0
    }
}

Errors

A payload that fails validation is rejected with HTTP 400. errors is an object keyed by the field path, and each value is a list of messages. Nothing is sent to the ATO and nothing is charged.

{
    "errors": {
        "applicationDetail.tfnIndicator": [
            "The applicationDetail -> tfnIndicator field is required."
        ],
        "associates": [
            "Each associate must have a unique TFN if provided."
        ]
    }
}

The same 400 envelope is used when an ACN already has an active ABN (key applicant.organisation.acn) and for an invalid or already lodged requestId on the staged endpoints (key requestId). If ABN registrations are not available on your account, the response is HTTP 403 with {"errors": [{"details": "..."}]}. An application the ATO itself rejects is not an HTTP error: it is reported through the status endpoint.

Initiate Application Request

To save an ABN application in stages, first initiate it with this endpoint. For example, you can post your form's first step data as JSON. At this point we only check that the body is JSON (15 KB at most) and that testTransmissionIndicator is a boolean. Everything else is stored as sent and validated when you lodge. A POST request to this endpoint returns a JSON response with the request ID.

/api/v2/abn-registration-data
POST
{
    "entityType": "051",
    "entitySubType": "027",
    "testTransmissionIndicator": true,
    "otherFieldsInYourApp": "your value"
}

A body that is not JSON returns 400 with {"error": "Only JSON requests are allowed."} and a body over 15 KB returns 413 with {"error": "Request payload is too large."}. These two use a singular error string; every other error on this page uses the plural errors envelope.

Initiate Application Request Response

{
    "requestId": 12239,
    "status": "received"
}

Retrieve Application Request

In order to retrieve an ABN application, you will need to use this endpoint. A GET request to this endpoint will return a JSON response with the request ID and the all the data that you have provided previously.

/api/v2/abn-registration-data/{requestId}
GET

Retrieve Application Request Response

{
    "requestId": 12239,
    "data": {
        "entityType": "051",
        "entitySubType": "027",
        "testTransmissionIndicator": true,
        "otherFieldsInYourApp": "your value",
        "some_other_field": "some value"
    }
}

Update Application Request

To update a saved ABN application, use this endpoint. Post the data from the previous call together with the new data: the body you post replaces the stored application. As with the initiate call, only the JSON body and testTransmissionIndicator are checked at this point. A POST request to this endpoint returns a JSON response with the request ID and the status.

/api/v2/abn-registration-data/{requestId}/update
POST
{
    "entityType": "051",
    "entitySubType": "027",
    "testTransmissionIndicator": true,
    "otherFieldsInYourApp": "your value",
    "some_other_field": "some value"
}

Update Application Request Response

{
    "requestId": 12239,
    "status": "updated"
}

Lodge Application Request

To lodge a saved ABN application, use this endpoint. By this point, the stored payload must be complete and formatted as in the samples below. It is validated with exactly the same rules as the one-step endpoint and returns the same errors. A GET request to this endpoint returns a JSON response with a new request ID, the status and the billing summary.

/api/v2/abn-registration-data/{requestId}/lodge
GET

Lodge Application Request Response

{
    "requestId": 12240,
    "status": "received",
    "billing": {
        "price_cents": 0,
        "charged_cents": 0
    }
}

Sample ABN Registration Request

One example per top-level entityType. All five are based on real, successfully accepted ABN registration payloads, with identifying details replaced by dummy data. Every sample passes our validation as shown. The TFNs and ACNs are made-up test numbers that pass the checksum only: never lodge them for real. Each sample sends testTransmissionIndicator; set it to false only for a real lodgement.

Individual / Sole Trader (entityType 117)

{
    "entityType": "117",
    "entitySubType": "006",
    "entitySubTypeAdditional": null,
    "entitlement": {
        "firstQuestion": "152",
        "outcomeId": 7,
        "outcome": true,
        "questionnaire": [
            { "questionId": 152, "answerId": 336, "nextQuestionId": 139 },
            { "questionId": 139, "answerId": 310, "nextQuestionId": 3 },
            { "questionId": 3, "answerId": 339, "nextQuestionId": 143 },
            { "questionId": 143, "answerId": 318, "nextQuestionId": 0 }
        ]
    },
    "applicant": {
        "individual": {
            "title": "Mr",
            "familyName": "SMITH",
            "givenName": "JOHN",
            "otherGivenName": null,
            "dateOfBirth": "1985-06-15",
            "genderCode": "1"
        },
        "tfn": "123456782"
    },
    "applicationDetail": {
        "tfnIndicator": true,
        "abnApplicationIndicator": true,
        "tfnApplicationIndicator": false
    },
    "applicationReason": {
        "code": "NEW",
        "firstTimeDirectorIndicator": true
    },
    "businessActivity": {
        "code": "7749",
        "description": "Cleaning - commercial (offices, shops, exterior and interior building cleaning, except sand blasting or steam cleaning)",
        "abnStartDate": "2026-09-01",
        "abnEndDate": null,
        "governmentIndicator": false,
        "agriculturalIndicator": false
    },
    "mainAddresses": {
        "business": {
            "line2": null,
            "street": "1 Example Street",
            "locality": "Sample Suburb",
            "state": "QLD",
            "postcode": "4000",
            "countryCode": "AU"
        },
        "postal": {
            "line2": null,
            "street": "1 Example Street",
            "locality": "Sample Suburb",
            "state": "QLD",
            "postcode": "4000",
            "countryCode": "AU"
        },
        "businessEmail": "[email protected]",
        "correspondenceEmail": null,
        "businessPhone": "0400000000",
        "sameMainBusinessActivityIndicator": true,
        "businessActivityCode": "7749",
        "businessActivityDescription": "Cleaning - commercial (offices, shops, exterior and interior building cleaning, except sand blasting or steam cleaning)",
        "additionalBusinessLocationsIndicator": false
    },
    "taxationInformation": {
        "nonprofitIndicator": false,
        "incomeTaxExemptionIndicator": false,
        "australianResidentIndicator": true
    },
    "declaration": {
        "fullName": "Mr JOHN SMITH",
        "positionHeld": "Owner",
        "phone": "0400000000",
        "date": "2026-09-01",
        "signatureAcceptanceIndicator": true,
        "signatureText": "Mr JOHN SMITH"
    },
    "authorisedContacts": [
        {
            "title": "Mr",
            "familyName": "SMITH",
            "givenName": "JOHN",
            "positionHeld": "Owner",
            "email": "[email protected]",
            "phone": "0400000000",
            "preferredLanguageCode": "ENG",
            "preferredLanguageOther": null
        }
    ],
    "testTransmissionIndicator": true
}

Company (entityType 051)

{
    "entityType": "051",
    "entitySubType": "027",
    "entitySubTypeAdditional": null,
    "entitlement": {
        "firstQuestion": "20",
        "outcomeId": "20",
        "outcome": "1",
        "questionnaire": [
            { "questionId": "20", "answerId": "44", "nextQuestionId": "0" }
        ]
    },
    "applicant": {
        "organisation": {
            "acn": "000000037",
            "name": "SAMPLE COMPANY PTY LTD"
        }
    },
    "applicationDetail": {
        "tfnIndicator": "0",
        "abnApplicationIndicator": "1",
        "tfnApplicationIndicator": "1"
    },
    "applicationReason": {
        "code": "NEW",
        "firstTimeDirectorIndicator": "0"
    },
    "businessActivity": {
        "code": "6419",
        "description": "Cosmetics retailing - direct selling",
        "abnStartDate": "2026-09-01",
        "governmentIndicator": "0",
        "agriculturalIndicator": "0"
    },
    "taxationInformation": {
        "nonprofitIndicator": "0",
        "incomeTaxExemptionIndicator": "0",
        "australianResidentIndicator": "1"
    },
    "mainAddresses": {
        "business": {
            "line2": "UNIT 1",
            "street": "1 EXAMPLE STREET",
            "locality": "SAMPLE SUBURB",
            "state": "NSW",
            "postcode": "2000",
            "countryCode": "AU"
        },
        "postal": {
            "line2": null,
            "street": "PO BOX 1",
            "locality": "SAMPLE SUBURB",
            "state": "NSW",
            "postcode": "2000",
            "countryCode": "AU"
        },
        "businessEmail": "[email protected]",
        "correspondenceEmail": "[email protected]",
        "businessPhone": "0400000000",
        "sameMainBusinessActivityIndicator": "1",
        "businessActivityCode": "6419",
        "businessActivityDescription": "Cosmetics retailing - direct selling",
        "additionalBusinessLocationsIndicator": "0"
    },
    "associates": {
        "individuals": [
            {
                "familyName": "SMITH",
                "givenName": "JOHN",
                "otherGivenName": null,
                "dateOfBirth": "1980-01-01",
                "positionHeld": ["POF"],
                "tfn": "111111101",
                "line2": null,
                "street": "1 EXAMPLE STREET",
                "locality": "SAMPLE SUBURB",
                "state": "NSW",
                "postcode": "2000",
                "countryCode": "AU"
            },
            {
                "familyName": "DOE",
                "givenName": "JANE",
                "otherGivenName": null,
                "dateOfBirth": "1982-05-10",
                "positionHeld": ["DIR"],
                "tfn": "222222202",
                "line2": null,
                "street": "1 EXAMPLE STREET",
                "locality": "SAMPLE SUBURB",
                "state": "NSW",
                "postcode": "2000",
                "countryCode": "AU"
            }
        ],
        "organisations": [
            {
                "name": "SAMPLE HOLDINGS PTY LTD",
                "acn": "000000064",
                "incorporationDate": "2020-01-01",
                "positionHeld": ["CSH"],
                "tfn": "333333303",
                "line2": null,
                "street": "2 EXAMPLE STREET",
                "locality": "SAMPLE SUBURB",
                "state": "NSW",
                "postcode": "2000",
                "countryCode": "AU"
            }
        ]
    },
    "taxRegistrations": {
        "gst": {
            "registrationStartDate": "2026-09-01",
            "turnoverRangeCode": "$0 - $74,999",
            "lodgementFrequencyCode": "Annually",
            "reasonCode": "Voluntary",
            "cashAccountingIndicator": "1",
            "importIndicator": "0"
        }
    },
    "authorisedContacts": [
        {
            "familyName": "SMITH",
            "givenName": "JOHN",
            "otherGivenName": null,
            "email": "[email protected]",
            "phone": "0400000000",
            "positionHeld": "POF"
        }
    ],
    "declaration": {
        "fullName": "JOHN SMITH",
        "positionHeld": "POF",
        "phone": "0400000000",
        "date": "2026-09-01",
        "signatureAcceptanceIndicator": "1",
        "signatureText": "JOHN SMITH"
    },
    "testTransmissionIndicator": true
}

Partnership (entityType 161)

{
    "entityType": "161",
    "entitySubType": "150",
    "entitySubTypeAdditional": null,
    "entitlement": {
        "firstQuestion": 153,
        "outcomeId": 7,
        "outcome": true,
        "questionnaire": [
            { "questionId": 153, "answerId": 366, "nextQuestionId": 140 },
            { "questionId": 140, "answerId": 312, "nextQuestionId": 14 },
            { "questionId": 14, "answerId": 345, "nextQuestionId": 144 },
            { "questionId": 144, "answerId": 320, "nextQuestionId": 0 }
        ]
    },
    "applicant": {
        "organisation": {
            "name": "SAMPLE TRADING PARTNERSHIP"
        }
    },
    "applicationDetail": {
        "tfnIndicator": false,
        "abnApplicationIndicator": true,
        "tfnApplicationIndicator": false
    },
    "applicationReason": {
        "code": "NEW",
        "firstTimeDirectorIndicator": true,
        "firstTimeSelfEmployedIndicator": true
    },
    "businessActivity": {
        "code": "5975",
        "description": "Mobile homes or cabins retailing",
        "abnStartDate": "2026-09-01",
        "abnEndDate": null,
        "governmentIndicator": false,
        "agriculturalIndicator": false
    },
    "taxationInformation": {
        "nonprofitIndicator": false,
        "incomeTaxExemptionIndicator": false,
        "australianResidentIndicator": true
    },
    "mainAddresses": {
        "business": {
            "line2": null,
            "street": "1 Example Street",
            "locality": "Sample Suburb",
            "state": "VIC",
            "postcode": "3000",
            "countryCode": "AU"
        },
        "postal": {
            "line2": null,
            "street": "1 Example Street",
            "locality": "Sample Suburb",
            "state": "VIC",
            "postcode": "3000",
            "countryCode": "AU"
        },
        "businessEmail": "[email protected]",
        "correspondenceEmail": null,
        "businessPhone": "0400000000",
        "sameMainBusinessActivityIndicator": true,
        "businessActivityCode": "5975",
        "businessActivityDescription": "Mobile homes or cabins retailing",
        "additionalBusinessLocationsIndicator": false
    },
    "additionalAddresses": [],
    "associates": {
        "individuals": [
            {
                "title": "Mr",
                "familyName": "SMITH",
                "givenName": "JOHN",
                "otherGivenName": null,
                "dateOfBirth": "1985-06-15",
                "genderCode": "1",
                "positionHeld": ["PTN"],
                "tfn": "444444404",
                "line2": null,
                "street": "1 Example Street",
                "locality": "Sample Suburb",
                "state": "VIC",
                "postcode": "3000",
                "countryCode": "AU"
            },
            {
                "title": "Mrs",
                "familyName": "SMITH",
                "givenName": "JANE",
                "otherGivenName": null,
                "dateOfBirth": "1987-02-20",
                "genderCode": "2",
                "positionHeld": ["PTN"],
                "tfn": "555555505",
                "line2": null,
                "street": "1 Example Street",
                "locality": "Sample Suburb",
                "state": "VIC",
                "postcode": "3000",
                "countryCode": "AU"
            }
        ],
        "other": {
            "legalRepresentativeIndicator": false
        }
    },
    "declaration": {
        "fullName": "Mr JOHN SMITH",
        "positionHeld": "PTN",
        "phone": "0400000000",
        "date": "2026-09-01",
        "signatureAcceptanceIndicator": true,
        "signatureText": "Mr JOHN SMITH"
    },
    "authorisedContacts": [
        {
            "title": "Mr",
            "familyName": "SMITH",
            "givenName": "JOHN",
            "positionHeld": "PTN",
            "email": "[email protected]",
            "phone": "0400000000",
            "preferredLanguageCode": "ENG",
            "preferredLanguageOther": null
        }
    ],
    "testTransmissionIndicator": true
}

Trust (entityType 212)

{
    "entityType": "212",
    "entitySubType": "071",
    "entitySubTypeAdditional": "CHT",
    "entitlement": {
        "firstQuestion": "134",
        "outcomeId": "7",
        "outcome": "1",
        "questionnaire": [
            { "questionId": "134", "answerId": "297", "nextQuestionId": "155" },
            { "questionId": "155", "answerId": "374", "nextQuestionId": "142" },
            { "questionId": "142", "answerId": "316", "nextQuestionId": "124" },
            { "questionId": "124", "answerId": "357", "nextQuestionId": "146" },
            { "questionId": "146", "answerId": "324", "nextQuestionId": "0" }
        ]
    },
    "applicant": {
        "organisation": {
            "name": "SAMPLE FAMILY TRUST"
        }
    },
    "applicationDetail": {
        "tfnIndicator": "0",
        "abnApplicationIndicator": "1",
        "tfnApplicationIndicator": "1"
    },
    "applicationReason": {
        "code": "INV",
        "firstTimeDirectorIndicator": "1"
    },
    "businessActivity": {
        "code": "7380",
        "description": "Property investment - as owner or sub-leaser of non-residential property (e.g. commercial, industrial)",
        "abnStartDate": "2026-09-01",
        "governmentIndicator": "0",
        "agriculturalIndicator": "1"
    },
    "taxationInformation": {
        "nonprofitIndicator": "0",
        "incomeTaxExemptionIndicator": "0",
        "taxAgentIdentifier": "00000000",
        "australianResidentIndicator": "1"
    },
    "mainAddresses": {
        "business": {
            "line2": "SUITE 1",
            "street": "1 SAMPLE ROAD",
            "locality": "SAMPLE SUBURB",
            "state": "VIC",
            "postcode": "3000",
            "countryCode": "AU"
        },
        "postal": {
            "line2": "SUITE 1",
            "street": "1 SAMPLE ROAD",
            "locality": "SAMPLE SUBURB",
            "state": "VIC",
            "postcode": "3000",
            "countryCode": "AU"
        },
        "businessEmail": "[email protected]",
        "correspondenceEmail": "[email protected]",
        "businessPhone": "0400000000",
        "sameMainBusinessActivityIndicator": "1",
        "businessActivityCode": "7380",
        "businessActivityDescription": "Property investment - as owner or sub-leaser of non-residential property (e.g. commercial, industrial)",
        "additionalBusinessLocationsIndicator": "0"
    },
    "associates": {
        "individuals": [
            {
                "familyName": "SMITH",
                "givenName": "JOHN",
                "otherGivenName": null,
                "dateOfBirth": "1980-01-01",
                "positionHeld": ["TRB"],
                "tfn": "876543210",
                "street": "2 SAMPLE STREET",
                "locality": "SAMPLE SUBURB",
                "state": "VIC",
                "postcode": "3000",
                "countryCode": "AU"
            }
        ],
        "organisations": [
            {
                "name": "SAMPLE TRUSTEE PTY LTD",
                "acn": "000000019",
                "incorporationDate": "2020-01-01",
                "positionHeld": ["TRT"],
                "line2": "SUITE 1",
                "street": "1 SAMPLE ROAD",
                "locality": "SAMPLE SUBURB",
                "state": "VIC",
                "postcode": "3000",
                "countryCode": "AU"
            }
        ]
    },
    "taxRegistrations": {
        "gst": {
            "registrationStartDate": "2026-09-01",
            "turnoverRangeCode": "$0 - $74,999",
            "lodgementFrequencyCode": "Monthly",
            "reasonCode": "Voluntary",
            "cashAccountingIndicator": "1",
            "importIndicator": "0"
        }
    },
    "authorisedContacts": [
        {
            "familyName": "SMITH",
            "givenName": "JOHN",
            "otherGivenName": null,
            "email": "[email protected]",
            "phone": "0400000000",
            "positionHeld": "Director"
        }
    ],
    "declaration": {
        "fullName": "JOHN SMITH",
        "positionHeld": "Director",
        "date": "2026-09-01",
        "signatureAcceptanceIndicator": "1",
        "signatureText": "JOHN SMITH"
    },
    "testTransmissionIndicator": true
}

Self-Managed Super Fund (entityType 210, entitySubType 196)

{
    "entityType": "210",
    "entitySubType": "196",
    "entitlement": {
        "firstQuestion": 36,
        "outcomeId": 66,
        "outcome": true,
        "questionnaire": [
            {
                "questionId": 36,
                "answerId": 84,
                "outcomeId": 0,
                "nextQuestionId": 37
            },
            {
                "questionId": 37,
                "answerId": 86,
                "outcomeId": 0,
                "nextQuestionId": 160
            },
            {
                "questionId": 160,
                "answerId": 399,
                "outcomeId": 0,
                "nextQuestionId": 39
            },
            {
                "questionId": 39,
                "answerId": 396,
                "outcomeId": 66,
                "nextQuestionId": 0
            }
        ]
    },
    "applicant": {
        "organisation": {
            "name": "SAMPLE SUPERANNUATION FUND"
        }
    },
    "applicationDetail": {
        "tfnIndicator": false,
        "abnApplicationIndicator": true,
        "tfnApplicationIndicator": true
    },
    "applicationReason": {
        "code": "NEW",
        "firstTimeDirectorIndicator": true
    },
    "businessActivity": {
        "abnStartDate": "2026-01-01",
        "abnEndDate": null,
        "governmentIndicator": false,
        "agriculturalIndicator": false
    },
    "taxationInformation": {
        "nonprofitIndicator": false,
        "superBenefitMembers": 2,
        "superCode": "A",
        "incomeTaxExemptionIndicator": false,
        "taxAgentIdentifier": "00000000",
        "australianResidentIndicator": true
    },
    "mainAddresses": {
        "business": {
            "line2": null,
            "street": "1 SAMPLE ROAD",
            "locality": "SAMPLETOWN",
            "state": "QLD",
            "postcode": "4000",
            "countryCode": "AU"
        },
        "postal": {
            "line2": null,
            "street": "1 SAMPLE ROAD",
            "locality": "SAMPLETOWN",
            "state": "QLD",
            "postcode": "4000",
            "countryCode": "AU"
        },
        "correspondenceEmail": "[email protected]",
        "businessPhone": "0400000000",
        "businessEmail": "[email protected]",
        "sameMainBusinessActivityIndicator": null,
        "businessActivityCode": null,
        "businessActivityDescription": null,
        "additionalBusinessLocationsIndicator": null
    },
    "associates": {
        "individuals": [
            {
                "title": "Mr",
                "familyName": "SMITH",
                "givenName": "JOHN",
                "otherGivenName": null,
                "dateOfBirth": "1980-01-01",
                "genderCode": "1",
                "positionHeld": [
                    "DCT",
                    "MSF"
                ],
                "tfn": "111111101"
            },
            {
                "title": "Mrs",
                "familyName": "SMITH",
                "givenName": "JANE",
                "otherGivenName": null,
                "dateOfBirth": "1982-01-01",
                "genderCode": "2",
                "positionHeld": [
                    "DCT",
                    "MSF"
                ],
                "tfn": "222222202"
            }
        ],
        "organisations": [
            {
                "acn": "000000019",
                "arbn": null,
                "abn": null,
                "name": "SAMPLE SUPER PTY LTD",
                "incorporationDate": "2026-01-01",
                "positionHeld": [
                    "TRT"
                ],
                "street": "1 SAMPLE ROAD",
                "line2": null,
                "locality": "SAMPLETOWN",
                "state": "QLD",
                "postcode": "4000",
                "countryCode": "AU"
            }
        ],
        "other": {
            "legalRepresentativeIndicator": false
        }
    },
    "superFundNoticeOfElection": {
        "governingRulesIndicator": true,
        "regulatoryElectionDate": "2026-01-01",
        "agePensionFundIndicator": false
    },
    "superFundTrusteeDisclosure": {
        "liquidatorAppointedIndicator": false,
        "disqualifiedOfficerIndicator": false,
        "receiverAppointedIndicator": false,
        "smsf12MonthsActivityIndicator": true,
        "operationCeaseIndicator": false,
        "underOfficialManagementIndicator": false
    },
    "superFundFinancialDetails": {
        "electronicServiceAlias": "SAMPLEESA"
    },
    "authorisedContacts": [
        {
            "title": "Mr",
            "familyName": "SMITH",
            "givenName": "JOHN",
            "positionHeld": "Tax Agent",
            "email": "[email protected]",
            "phone": "0400000000",
            "preferredLanguageCode": null,
            "preferredLanguageOther": null
        }
    ],
    "declaration": {
        "fullName": "JOHN SMITH",
        "positionHeld": "Tax Agent",
        "phone": "0400000000",
        "date": "2026-01-01",
        "signatureAcceptanceIndicator": true,
        "signatureText": "JOHN SMITH"
    },
    "testTransmissionIndicator": true
}

Field Reference and Important Rules

The rules below are the ones clients most often get wrong. A payload that breaks one of our rules is rejected with a 400 before anything reaches the ATO. Rules marked as ATO rules are checked by the ATO after lodgement and show up as a validation failed status.

General

  • testTransmissionIndicator - required boolean. true sends the application to the ATO test service and is not charged. Sandbox keys always use the test service.
  • Booleans accept true/false, 1/0 or "1"/"0".
  • Dates use YYYY-MM-DD. Limits such as "not in the future" or "up to 6 months ahead" are based on today's date in Sydney.
  • ABN and ACN values may contain spaces or other separators (every non-digit is removed). TFNs must be digits only. ABNs, ACNs and TFNs must pass their checksum.
  • countryCode is a two-letter ISO country code, upper or lower case (AU or au). It is required on the business address. On the postal address, additional locations and associate addresses it defaults to AU when left out.
  • Address street and line2 are at most 38 characters and locality at most 46. locality, state and postcode are required for Australian addresses.
  • PO box and care-of addresses are not allowed on the business address, additional locations, associate addresses or a sole trader's own address: a line may not start with terms such as PO Box, GPO, Locked Bag, Private Bag, C/, Care of, Attn, RMB, RSD or Cnr, and the business postcode cannot be 2001, 3001 or 4001. The postal address may be a PO box.

TFN indicators

  • applicationDetail.tfnIndicator - true means the applicant already has a TFN. It should agree with applicant.tfn: send the TFN when it is true.
  • applicationDetail.tfnApplicationIndicator - true asks the ATO to issue a TFN to a company, partnership or trust along with the ABN.
  • Sole traders (117) cannot apply for a TFN through the API: tfnApplicationIndicator must be false (a missing value or "0" is treated as false). A sole trader who needs a TFN must apply for one on the ATO website first, then apply for the ABN.

Sole traders and identity

  • A sole trader must give either applicant.tfn or a residential address in applicant.individual (street, locality, state, postcode, countryCode). Those address fields are checked by us but not sent to the ATO, because the ATO message has no field for them.
  • The ATO matches the applicant's identity on name, date of birth and TFN. The business address (mainAddresses.business) is the address the ATO receives, so a sole trader who works from home should give their home as the business address.
  • ATO rule: without a TFN, an overseas address or non-resident status (taxationInformation.australianResidentIndicator: false) puts the application on a proof-of-identity hold. The applicant has 43 days to send documents to the ATO, after which the application is refused. The same applies to an associate with no TFN and an overseas address.
  • businessActivity.governmentIndicator is optional for sole traders and is sent as false when left out. It is required for every other entity.

Dates

  • businessActivity.abnStartDate - required, after 1999-01-01 and up to 6 months ahead.
  • ATO rule (EM72386): the start date must not be in the future if the applicant has held an ABN before, even when applicationReason.code is NEW.
  • Tax registration start dates must be on or after abnStartDate and up to 6 months ahead. Dates of birth, incorporation dates and the SMSF election date cannot be in the future.

Organisations and associates

  • applicant.organisation.name is required for companies (051) and should be sent for partnerships, trusts and super funds too (the ATO requires a legal name).
  • applicant.organisation.acn is required only for subtypes 027 (private company) and 032 (public company). A company whose ACN already has an active ABN is rejected, unless applicationReason.code is CBS or PUR.
  • Every entity except a sole trader needs at least one associate; partnerships (087, 150) need at least two.
  • An individual associate needs a tfn or a street address, and may have both. An organisation associate without a tfn needs a street address and an incorporationDate.
  • Each associate TFN must be different, only one associate may be Public Officer (POF), and an associate organisation cannot use the applicant's own ACN.

Tax registrations

  • taxRegistrations.gst.turnoverRangeCode: $0 - $74,999, $75,000 - $149,999, $150,000 - $1,999,999, $2,000,000 - $9,999,999, $10,000,000 - $19,999,999, $20 million and over
  • taxRegistrations.gst.lodgementFrequencyCode (reporting frequency): Annually, HalfYearly, Monthly, Quarterly
  • taxRegistrations.gst.reasonCode: Legislative Requirement, Voluntary
  • taxRegistrations.gst.accountName and taxRegistrations.fbt.accountName: at most 32 characters (ATO limit).
  • taxRegistrations.lct.liabilityRangeCode: $0 to $49,999, $100,000 to $499,999, $50,000 to $99,999, $500,000 to $5 million, More than $5 million
  • taxRegistrations.lct.activityCode: Importer, Manufacturer, Retailer, Wholesaler
  • taxRegistrations accepts only gst, ftc, lct, wet, paygw and fbt. Any other key is rejected with a 400; PAYG withholding is paygw, not payg.
  • taxRegistrations.paygw.lodgementChannelCode: E, EAS, ECI, ELS, EML, FDF, INP, MGV, MIPS, OTH, P, PE, PH, RDCC, RO, SBR, SMS, WEB
  • taxRegistrations.paygw.paymentSummaryProvisionMethodCode: ATO, Both, Print

Associate roles (positionHeld) per entity subtype

The allowed values depend on entitySubType and, where given, entitySubTypeAdditional. DCT director of a corporate trustee, DIR director, MSF fund member, OFB office bearer, POF public officer, PTN partner, TRT trustee, TRB beneficiary, CSH shareholder, CSY secretary. A subtype and entitySubTypeAdditional pair not listed here accepts no associate roles. positionHeld on authorisedContacts and declaration is free text (at most 50 characters), not one of these codes.

entitySubType Allowed positionHeld values
006 (sole trader) None. A sole trader has no associates.
087, 150 (partnerships) PTN
027, 032 (also 032 with UPC or LBG) CSH, CSY, DIR, POF
045, 156 OFB, POF
145 CSY, DIR, OFB, POF, DCT
205 DIR, OFB, POF
120 (also with CLP) PTN, DIR, POF, DCT
174 TRT, POF, DCT
174 with CHT TRT, TRB, POF, DCT
039 TRT, POF, DCT
039 with CHT TRT, TRB, POF
059 TRT, DCT, POF
059 with CHT TRT, TRB, POF, DCT
071, 072, 077 (also with CHT) TRT, TRB, POF, DCT
089 (also with CHT) TRT, TRB, DCT
090, 112 TRT, POF, DCT
090, 112 with CHT TRT, TRB, POF, DCT
179, 184 TRT, DCT, POF
196 (SMSF) TRT, MSF, DCT, POF
009, 138, 168, 221 TRT, POF, DCT

Self-Managed Super Funds (SMSF)

An SMSF is entityType 210 with entitySubType 196. On top of the usual fields, two blocks are required. If either is missing, the request is rejected with HTTP 400 and the standard errors envelope, with a message like The superFundNoticeOfElection field is required when entitySubType is 196.

superFundNoticeOfElection (all three fields required)

  • governingRulesIndicator - boolean. Whether the fund has governing rules.
  • regulatoryElectionDate - date, YYYY-MM-DD. Must be before tomorrow (Sydney time).
  • agePensionFundIndicator - boolean. Whether the fund is an age pension fund.

superFundTrusteeDisclosure

  • smsf12MonthsActivityIndicator - boolean, always required.
  • Corporate trustee (a company associate with positionHeld: ["TRT"]) - also liquidatorAppointedIndicator, disqualifiedOfficerIndicator, receiverAppointedIndicator, operationCeaseIndicator and underOfficialManagementIndicator.
  • Individual trustees (individual associates with positionHeld: ["TRT"]) - also trusteesBankruptIndicator, civilPenaltyOrderIndicator, convictionIndicator and disqualifiedTrusteesOrDirectorsIndicator.

Booleans accept true/false or 1/0. Example for a fund with a corporate trustee:

"superFundNoticeOfElection": {
    "governingRulesIndicator": true,
    "regulatoryElectionDate": "2026-10-19",
    "agePensionFundIndicator": false
},
"superFundTrusteeDisclosure": {
    "smsf12MonthsActivityIndicator": true,
    "liquidatorAppointedIndicator": false,
    "disqualifiedOfficerIndicator": false,
    "receiverAppointedIndicator": false,
    "operationCeaseIndicator": false,
    "underOfficialManagementIndicator": false
}

Frequently Asked Questions

What are the valid entityType / entitySubType values?
The five supported top-level types and their subtypes are 117 (individual/sole trader: 006), 051 (company: 027, 032, 045, 145, 205, 174, 156, 120), 161 (partnership: 087 family partnership or 150 other partnership), 212 (trust: 059, 039, 071, 072, 077, 089, 090, 112, 184, 179; e.g. 071 discretionary trading trust), and 210 (superannuation fund: 196, 221, 138, 168, 009). Trap to watch for: a Limited Partnership is not entityType 161 - it's entityType 051 (company) with subtype 120.
How do partnership associates work - what's the structure, and what fields are required?
There is no field called partners - every entity type, partnerships included, uses associates.individuals[] and associates.organisations[]. For a partnership, every associate needs positionHeld: ["PTN"]. Each associate needs a tfn, a full street address, or both. Each TFN must be different.
  • Individual associate: familyName, givenName, dateOfBirth, positionHeld, and a tfn and/or a street address.
  • Company associate: name, positionHeld, and either a tfn or both incorporationDate and a street address. acn/arbn/abn are all individually optional.
Is associate email required?
No - there is no email field on an individual or company associate record at all. Email only appears elsewhere on the payload, e.g. mainAddresses.businessEmail/correspondenceEmail and authorisedContacts[].email.
Minimum or maximum number of associates for a partnership?
Minimum 2 combined across individuals and organisations. No maximum.
For a company registration, is both ABN and ACN required?
This endpoint registers the ABN itself, so there is no "ABN required" field. applicant.organisation.acn is required only for subtypes 027 (private company) and 032 (public company): those companies must already have an ACN. Other 051 subtypes (for example co-operatives or strata title bodies) do not need one.
For an SMSF (entityType 210, subtype 196), which superFundTrusteeDisclosure questions do I need to answer?
Only the set matching your trustee type - the ATO rejects the other set (errors EM72258 / EM72260).
  • Corporate trustee (a company associate with positionHeld: ["TRT"]): liquidatorAppointedIndicator, disqualifiedOfficerIndicator, receiverAppointedIndicator, operationCeaseIndicator, underOfficialManagementIndicator.
  • Individual trustees (individual associates with positionHeld: ["TRT"]): trusteesBankruptIndicator, civilPenaltyOrderIndicator, convictionIndicator, disqualifiedTrusteesOrDirectorsIndicator.
  • Always: smsf12MonthsActivityIndicator.
If you answer every question, we send only the applicable set to the ATO, so including the others is harmless.

ABN Registration Status Request & Response

A GET request to this endpoint will return a JSON reponse.

/api/v2/status/{requestId}
GET
{
    "requestId": 12239,
    "status": "finished",
    "referenceNumber": "8810120556472",
    "info": {
        "entityName": "MY DEMO COMPANY PTY LTD",
        "abn": "33612302303",
        "abnStartDate": "20210630",
        "abnEndDate": "",
        "dateOfAbnRegistration": "20210630",
        "taxRegistrations": {
            "gstRegistrationDate": "20210630",
            "paygRegistrationDate": "20210630"
        }
    }
}