ASIC code tables API
Retrieve the code tables that decode company types, statuses, office holder roles, address types and register codes as JSON with the asicapi REST API.
ASIC stores almost every classified value on its registers as a short code: APTY for an Australian proprietary company, REGD for registered, DR for director, RG for registered office. The code tables give those codes their human-readable descriptions. asicapi already expands every code in its responses to { code, label }, so most integrations never need to call these endpoints, but they are useful for building dropdowns, validating filter parameters such as types[] or role[], and keeping a local copy of the tables in sync when ASIC adds a code. Both endpoints are free: they never contact ASIC and are never billed, like all of the reference data endpoints.
Each table is addressed by a readable slug such as office-holder-roles, and the same slugs appear throughout these docs. Where ASIC's own table uses bare digits or letters as codes (jurisdictions and organisation number types), asicapi returns readable codes such as NSW, ASIC and ACN and keeps ASIC's original value on the entry as asicCode.
List code tables
https://api.asicapi.dev/v1/reference/code-tablesQuery parameters
This endpoint takes no query parameters.
Example request
curl https://api.asicapi.dev/v1/reference/code-tables \
-H "Authorization: Bearer $ASICAPI_KEY"Example response
{
"object": "list",
"data": [
{ "object": "codeTableSummary", "table": "organisation-types", "title": "Organisation types", "entryCount": 17, "docsUrl": "https://asicapi.dev/docs/reference/organisation-types" },
{ "object": "codeTableSummary", "table": "organisation-classes", "title": "Organisation classes", "entryCount": 10, "docsUrl": "https://asicapi.dev/docs/reference/organisation-types" },
{ "object": "codeTableSummary", "table": "organisation-sub-classes", "title": "Organisation sub-classes", "entryCount": 29, "docsUrl": "https://asicapi.dev/docs/reference/organisation-types" },
{ "object": "codeTableSummary", "table": "states", "title": "States and territories", "entryCount": 12, "docsUrl": "https://asicapi.dev/docs/reference/jurisdictions-and-states" },
{ "object": "codeTableSummary", "table": "office-holder-roles", "title": "Office holder roles", "entryCount": 37, "docsUrl": "https://asicapi.dev/docs/reference/office-holder-roles" },
{ "object": "codeTableSummary", "table": "record-status", "title": "Record status", "entryCount": 3, "docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes" },
{ "object": "codeTableSummary", "table": "charge-types", "title": "Charge types", "entryCount": 3, "docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes" },
{ "object": "codeTableSummary", "table": "charge-statuses", "title": "Charge statuses", "entryCount": 2, "docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes" },
{ "object": "codeTableSummary", "table": "address-types", "title": "Address types", "entryCount": 5, "docsUrl": "https://asicapi.dev/docs/reference/address-types" },
{ "object": "codeTableSummary", "table": "jurisdictions", "title": "Jurisdictions", "entryCount": 9, "docsUrl": "https://asicapi.dev/docs/reference/jurisdictions-and-states" },
{ "object": "codeTableSummary", "table": "court-types", "title": "Court types", "entryCount": 3, "docsUrl": "https://asicapi.dev/docs/reference/jurisdictions-and-states" },
{ "object": "codeTableSummary", "table": "organisation-statuses", "title": "Organisation statuses", "entryCount": 21, "docsUrl": "https://asicapi.dev/docs/reference/organisation-statuses" },
{ "object": "codeTableSummary", "table": "information-products", "title": "Information products", "entryCount": 6, "docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes" },
{ "object": "codeTableSummary", "table": "deregistration-reasons", "title": "Deregistration reasons", "entryCount": 17, "docsUrl": "https://asicapi.dev/docs/reference/organisation-statuses" },
{ "object": "codeTableSummary", "table": "company-licence-types", "title": "Licence types (company relationships)", "entryCount": 7, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "company-roles", "title": "Roles held by companies", "entryCount": 6, "docsUrl": "https://asicapi.dev/docs/reference/office-holder-roles" },
{ "object": "codeTableSummary", "table": "person-additional-roles", "title": "Additional person roles", "entryCount": 1, "docsUrl": "https://asicapi.dev/docs/reference/office-holder-roles" },
{ "object": "codeTableSummary", "table": "asic-fee-codes", "title": "ASIC fee codes", "entryCount": 33, "docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes" },
{ "object": "codeTableSummary", "table": "register-types", "title": "Register types", "entryCount": 16, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "weekly-summary-types", "title": "Weekly summary types", "entryCount": 6, "docsUrl": "https://asicapi.dev/docs/reference/weekly-summary-types" },
{ "object": "codeTableSummary", "table": "weekly-summary-sub-types", "title": "Weekly summary sub-types", "entryCount": 22, "docsUrl": "https://asicapi.dev/docs/reference/weekly-summary-types" },
{ "object": "codeTableSummary", "table": "licence-ban-types", "title": "Licence ban types", "entryCount": 6, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "suspension-reasons", "title": "Suspension reasons", "entryCount": 17, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "authorities-held", "title": "Authorities held", "entryCount": 4, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "register-status", "title": "Register status indicators", "entryCount": 2, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "pre-asic-legislation", "title": "Pre-ASIC legislation", "entryCount": 6, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "register-address-types", "title": "Register address types", "entryCount": 4, "docsUrl": "https://asicapi.dev/docs/reference/address-types" },
{ "object": "codeTableSummary", "table": "register-trading-types", "title": "Register trading types", "entryCount": 3, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "number-types", "title": "Organisation number types", "entryCount": 4, "docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes" },
{ "object": "codeTableSummary", "table": "licence-statuses", "title": "Licence statuses", "entryCount": 5, "docsUrl": "https://asicapi.dev/docs/reference/register-types" },
{ "object": "codeTableSummary", "table": "person-licence-roles", "title": "Licence and register roles (people)", "entryCount": 12, "docsUrl": "https://asicapi.dev/docs/reference/office-holder-roles" },
{ "object": "codeTableSummary", "table": "document-list-organisation-types", "title": "Organisation types with document lists", "entryCount": 7, "docsUrl": "https://asicapi.dev/docs/reference/organisation-types" },
{ "object": "codeTableSummary", "table": "register-officer-roles", "title": "Officer roles on registers", "entryCount": 8, "docsUrl": "https://asicapi.dev/docs/reference/office-holder-roles" },
{ "object": "codeTableSummary", "table": "governance-types", "title": "Governance types", "entryCount": 2, "docsUrl": "https://asicapi.dev/docs/reference/organisation-types" },
{ "object": "codeTableSummary", "table": "scheme-categories", "title": "Scheme categories", "entryCount": 25, "docsUrl": "https://asicapi.dev/docs/reference/scheme-categories" },
{ "object": "codeTableSummary", "table": "controlling-jurisdictions", "title": "Controlling jurisdictions", "entryCount": 13, "docsUrl": "https://asicapi.dev/docs/reference/jurisdictions-and-states" }
],
"hasMore": false,
"nextCursor": null,
"totalCount": 36
}Response fields
| Field | Type | Description |
|---|---|---|
object | string | Always list. |
data[].object | string | Always codeTableSummary. |
data[].table | string | Readable slug of the table. Pass it as {table} to fetch the entries. |
data[].title | string | Descriptive title of the table. |
data[].entryCount | integer | Number of codes currently in the table. |
data[].docsUrl | string | The page in these docs that explains the table. |
hasMore | boolean | Always false. |
nextCursor | null | Always null. |
totalCount | integer | Number of tables. |
Get a code table
https://api.asicapi.dev/v1/reference/code-tables/{table}Path parameters
Prop
Type
Query parameters
This endpoint takes no query parameters.
Example request
curl https://api.asicapi.dev/v1/reference/code-tables/number-types \
-H "Authorization: Bearer $ASICAPI_KEY"Example response
{
"object": "codeTable",
"table": "number-types",
"title": "Organisation number types",
"docsUrl": "https://asicapi.dev/docs/reference/record-status-and-other-codes",
"entries": [
{ "code": "ACN", "label": "Australian Company Number", "asicCode": "1" },
{ "code": "ARBN", "label": "Australian Registered Body Number", "asicCode": "2" },
{ "code": "NUMBER", "label": "Registration number", "asicCode": "3" },
{ "code": "ARSN", "label": "Australian Registered Scheme Number", "asicCode": "4" }
]
}Response fields
| Field | Type | Description |
|---|---|---|
object | string | Always codeTable. |
table | string | Slug of the table. |
title | string | Descriptive title of the table. |
docsUrl | string | The reference page for this table. |
entries[] | array | Every code in the table, in ASIC's order. |
entries[].code | string | The code that appears as code in API responses and that filter parameters accept. For most tables this is ASIC's code verbatim and uppercase. |
entries[].label | string | Description of the code. |
entries[].asicCode | string or null | ASIC's original code when asicapi uses a readable code instead. Only the jurisdiction, controlling jurisdiction and number type tables have one; it is null elsewhere. |
Code tables and where they are used
| Table | Used for | Reference page |
|---|---|---|
organisation-types | company.type, types[] search filter | Organisation types |
organisation-classes | company.class | Organisation types |
organisation-sub-classes | company.subClass | Organisation types |
document-list-organisation-types | Types for which GET /v1/companies/{id}/documents is available | Organisation types |
governance-types | company.governanceType | Organisation types |
organisation-statuses | company.status | Organisation statuses |
deregistration-reasons | deregistration.reason | Organisation statuses |
office-holder-roles | officeholder.role, role[] filter | Office holder roles |
company-roles | relationships.rolesHeld[].role | Office holder roles |
register-officer-roles | officeRoles[].role on professional register extracts | Office holder roles |
person-licence-roles | licences[].type on person extracts | Office holder roles |
person-additional-roles | SH member role on person extracts | Office holder roles |
address-types | company address.type, type[] filter | Address types |
register-address-types | addresses[].type on register extracts | Address types |
states | stateOfRegistration, court state | Jurisdictions and states |
jurisdictions | registration.jurisdiction on registers | Jurisdictions and states |
controlling-jurisdictions | controllingJurisdiction, jurisdiction search filter | Jurisdictions and states |
court-types | court.type on office holders | Jurisdictions and states |
register-types | register on register entries and extracts | Register types |
company-licence-types | relationships.licences[].type | Register types |
licence-ban-types | bans[].type on banned representative extracts | Register types |
suspension-reasons | suspensions[].reason on professional register extracts | Register types |
authorities-held | Authority categories for representatives | Register types |
register-status | Current or suspended on registers | Register types |
pre-asic-legislation | registration.preAsicLegislation | Register types |
register-trading-types | tradingNames[].type on register extracts | Register types |
licence-statuses | licences[].licenceStatus on person extracts | Register types |
scheme-categories | company.schemeCategories[] | Scheme categories |
weekly-summary-types | weeklySummary.type | Weekly summary types |
weekly-summary-sub-types | weeklySummaryItem.subType | Weekly summary types |
record-status | status on office holders, addresses, share classes, members | Record status and other codes |
charge-types | charge.type | Record status and other codes |
charge-statuses | charge.status | Record status and other codes |
number-types | numberType on every organisation reference | Record status and other codes |
information-products | ASIC's product families behind the purchase and order endpoints | Record status and other codes |
asic-fee-codes | The ASIC fee code that appears on invoices for each meta.product of a purchase or order | Record status and other codes |
Errors
| Code | HTTP status | When |
|---|---|---|
not_found_error with code code_table_not_found | 404 | {table} is not one of the slugs above. |
unauthorized | 401 | The API key is missing or invalid. See authentication. |
rate_limited | 429 | You exceeded 600 requests per minute or 20 concurrent requests. |
Notes from the ASIC register
- ASIC adds codes without notice. New codes are added to tables as legislation and ASIC practice change, and ASIC does not publish a new specification for them. asicapi refreshes its copy of each table from ASIC, but a response can still carry a code before the label is known. In that case
labelequalscode. Never reject a record because its code is unfamiliar. - Converted state data. ASIC's database includes records converted from the state and territory corporate affairs systems that preceded it in 1991. Some of that data does not comply with the current code tables. Where a deregistration reason code is not found in the deregistration reasons table, treat the reason as simply "deregistered".
- Codes are case-sensitive and verbatim. Apart from the three tables with an
asicCode, asicapi returns ASIC codes exactly as ASIC issues them, including spaces in a handful of deregistration reasons (ALT REGN,SA ACT). Compare oncode, never onlabel; labels are corrected from time to time. - Sandbox. Code tables are identical in the sandbox and in production.
Related
Office holder roles
Director, secretary, liquidator, administrator and every other role code explained.
Register types
Register, suspension, ban, legislation and trading type codes.
Weekly summary types
Summary types and sub-types for weekly reports.
ASIC form codes
Look up form codes and descriptions for ASIC documents.
Errors
Error codes and their ASIC rejection codes.
Reference data API
Endpoints for ASIC reference data as JSON: the code tables that decode company types, statuses and roles, the ASIC form code list, and validation of ACN, ABN, ARBN and ARSN identifiers.
ASIC form codes and descriptions API
List ASIC form codes and descriptions, such as Form 484 change to company details and Form 505 appointment of a liquidator, filtered by ASIC Alert category.