Articles of Association
Articles of Association data provides structured insight into a company’s legal governance, management structure, and representation authority. This allows you to programmatically validate who controls a business and who is legally authorised to act on its behalf.
This data is particularly valuable when verifying legal control, representation rights, and organisational structure during onboarding or compliance workflows.
Use cases
| Use Case | Capability | What You Can Validate |
|---|---|---|
| Embedded onboarding automation | Workflow Automation | Replace manual registry checks with API-driven validation |
| Fraud prevention | Representation Risk Control | Detect mismatches between claimed and registered authority |
| Regulated onboarding | KYB & AML Support | Validate management structure as part of compliance checks |
| Corporate onboarding due diligence | Governance Verification | Confirm legal structure and formation details |
| Cross-check declared signatories | Manager Identification | Retrieve officially registered managers |
| Account opening approval workflows | Authority Validation | Determine if a manager can sign independently or requires joint approval |
Retrieving Articles of Association Data
| Dataset | Endpoint | Retrieval Method |
|---|---|---|
| Full Company Articles Information | Business Verification API | Requested via type=CONTRACT |
| Manager Permissions | Manager Permissions API | Dedicated endpoint (per manager) |
Manager Permissions are retrieved through a dedicated endpoint due to differences in the data structure.
Data Coverage
| Dataset | Description |
|---|---|
| Full Company Articles Information | Company-level governance and formation details |
| Manager Permissions | Detailed signing authority and representation powers |
Full Company Articles Information
To retrieve the full company Articles of Association information, you must provide the company’s Unified National Number (UNN) (also referred to as the CR National Number) in your request.
Fields marked as Mandatory represent core registry data maintained by the Ministry of Commerce and are guaranteed to be returned in the response. Fields not marked as mandatory are optional and will be returned where available in the official registry records.
The table below outlines all data fields returned as part of this dataset.
| Category | Field Path | Description | Mandatory |
|---|---|---|---|
| Contract Information | contractCopyNumber | Copy number of the Articles of Association contract | Y |
| Contract Information | contractDate | Official contract issuance date | Y |
| Company Core Information | entity.crNationalNumber | National unified registration number | Y |
| Company Core Information | entity.crNumber | Commercial Registration (CR) number | |
| Company Core Information | entity.name | Legal company name | |
| Company Core Information | entity.nameLangId | Language identifier for company name | Y |
| Company Core Information | entity.nameLangDesc | Language description | Y |
| Company Core Information | entity.companyDuration | Registered company duration | |
| Company Core Information | entity.headquarterCityId | Headquarter city ID | |
| Company Core Information | entity.headquarterCityName | Headquarter city name | |
| Company Core Information | entity.isLicenseBased | Indicates whether entity operates under a specific license | Y |
| Company Core Information | entity.licenseIssuerNationalNo | License issuer national number | |
| Company Core Information | entity.licenseIssuerName | License issuer name | |
| Entity Type & Legal Form | entity.entityType.id | Entity type ID | Y |
| Entity Type & Legal Form | entity.entityType.name | Entity type name | Y |
| Entity Type & Legal Form | entity.entityType.formId | Legal form ID | Y |
| Entity Type & Legal Form | entity.entityType.formName | Legal form name | Y |
| Entity Type & Legal Form | entity.entityType.characters[].id | Character type ID | Y |
| Entity Type & Legal Form | entity.entityType.characters[].name | Character description | Y |
| Capital – Currency | entity.capital.currencyId | Currency ID | Y |
| Capital – Currency | entity.capital.currencyName | Currency name | Y |
| Capital – Contribution | entity.capital.contributionCapital.typeId | Contribution type ID | Y |
| Capital – Contribution | entity.capital.contributionCapital.typeName | Contribution type (cash/in-kind) | Y |
| Capital – Contribution | entity.capital.contributionCapital.cashCapital | Cash contribution amount | |
| Capital – Contribution | entity.capital.contributionCapital.inKindCapital | In-kind contribution amount | |
| Capital – Contribution | entity.capital.contributionCapital.contributionValue | Contribution value | Y |
| Capital – Contribution | entity.capital.contributionCapital.totalCashContribution | Total cash contribution | Y |
| Capital – Contribution | entity.capital.contributionCapital.totalInKindContribution | Total in-kind contribution | Y |
| Capital – Stock | entity.capital.stockCapital.typeId | Stock capital type ID | Y |
| Capital – Stock | entity.capital.stockCapital.typeName | Stock capital type | Y |
| Capital – Stock | entity.capital.stockCapital.cashCapital | Cash portion of stock capital | |
| Capital – Stock | entity.capital.stockCapital.inKindCapital | In-kind portion of stock capital | |
| Capital – Stock | entity.capital.stockCapital.capital | Total capital | Y |
| Capital – Stock | entity.capital.stockCapital.announcedCapital | Announced capital | |
| Capital – Stock | entity.capital.stockCapital.paidCapital | Paid-up capital | Y |
| Capital – Stock | entity.capital.stockCapital.stocks[].typeId | Stock type ID | Y |
| Capital – Stock | entity.capital.stockCapital.stocks[].typeName | Stock type name | Y |
| Capital – Stock | entity.capital.stockCapital.stocks[].count | Number of stocks | Y |
| Capital – Stock | entity.capital.stockCapital.stocks[].value | Stock value | Y |
| Capital – Stock | entity.capital.stockCapital.stocks[].classReferenceID | Stock class reference ID | Y |
| Capital – Stock | entity.capital.stockCapital.stocks[].className | Stock class name | Y |
| Fiscal Year | entity.fiscalYear.isFirst | Indicates if first fiscal year | Y |
| Fiscal Year | entity.fiscalYear.calendarTypeId | Calendar type ID | Y |
| Fiscal Year | entity.fiscalYear.calendarTypeName | Calendar type name | Y |
| Fiscal Year | entity.fiscalYear.endMonth | Fiscal year end month | |
| Fiscal Year | entity.fiscalYear.endDay | Fiscal year end day | |
| Fiscal Year | entity.fiscalYear.endYear | Fiscal year end year | |
| Parties (Partners/Shareholders) | entity.parties[].name | Partner name | Y |
| Parties (Partners/Shareholders) | entity.parties[].typeId | Partner type ID | Y |
| Parties (Partners/Shareholders) | entity.parties[].typeName | Partner type name | Y |
| Parties (Partners/Shareholders) | entity.parties[].identity.id | Identity number | Y |
| Parties (Partners/Shareholders) | entity.parties[].identity.typeId | Identity type ID | Y |
| Parties (Partners/Shareholders) | entity.parties[].identity.typeName | Identity type name | Y |
| Parties (Partners/Shareholders) | entity.parties[].partnership[].id | Partnership role ID | Y |
| Parties (Partners/Shareholders) | entity.parties[].partnership[].name | Partnership role name | Y |
| Parties (Partners/Shareholders) | entity.parties[].partnerShare.cashContributionCount | Cash contribution count | |
| Parties (Partners/Shareholders) | entity.parties[].partnerShare.inKindContributionCount | In-kind contribution count | |
| Parties (Partners/Shareholders) | entity.parties[].partnerShare.totalContributionCount | Total contribution count | |
| Parties (Partners/Shareholders) | entity.parties[].partnerProfitLossDistribution.profitDistribution | Profit distribution percentage | Y |
| Parties (Partners/Shareholders) | entity.parties[].partnerProfitLossDistribution.lossDistribution | Loss distribution percentage | Y |
| Parties (Partners/Shareholders) | entity.parties[].nationality.id | Nationality ID | Y |
| Parties (Partners/Shareholders) | entity.parties[].nationality.name | Nationality name | Y |
| Parties (Partners/Shareholders) | entity.parties[].crNumber | Partner CR number | |
| Parties (Partners/Shareholders) | entity.parties[].licenseNo | Partner license number | |
| Guardian | entity.parties[].guardian.name | Guardian name | Y |
| Guardian | entity.parties[].guardian.identity.id | Guardian identity number | Y |
| Guardian | entity.parties[].guardian.identity.typeId | Guardian identity type ID | Y |
| Guardian | entity.parties[].guardian.identity.typeName | Guardian identity type name | Y |
| Guardian | entity.parties[].guardian.nationality.id | Guardian nationality ID | Y |
| Guardian | entity.parties[].guardian.nationality.name | Guardian nationality name | Y |
| Guardian | entity.parties[].guardian.isFatherGuardian | Indicates if father is guardian | Y |
| Management – Structure | entity.management.structureId | Management structure ID | Y |
| Management – Structure | entity.management.structureName | Management structure name | Y |
| Management – Structure | entity.management.dismissalMethod | Dismissal method | |
| Management – Managers | entity.management.managers[].name | Manager name | Y |
| Management – Managers | entity.management.managers[].typeId | Manager type ID | Y |
| Management – Managers | entity.management.managers[].typeName | Manager type name | Y |
| Management – Managers | entity.management.managers[].isLicensed | Indicates if manager is licensed | Y |
| Management – Managers | entity.management.managers[].identity.id | Manager identity number | Y |
| Management – Managers | entity.management.managers[].identity.typeId | Manager identity type ID | Y |
| Management – Managers | entity.management.managers[].identity.typeName | Manager identity type name | Y |
| Management – Managers | entity.management.managers[].nationality.id | Manager nationality ID | Y |
| Management – Managers | entity.management.managers[].nationality.name | Manager nationality name | Y |
| Management – Managers | entity.management.managers[].positions[].id | Manager position ID | Y |
| Management – Managers | entity.management.managers[].positions[].name | Manager position name | Y |
| Management Board | entity.management.managementBoard.meetingQuorumId | Meeting quorum ID | Y |
| Management Board | entity.management.managementBoard.meetingQuorumName | Meeting quorum name | Y |
| Management Board | entity.management.managementBoard.canDelegateAttendance | Delegation allowed | |
| Management Board | entity.management.managementBoard.termYears | Term duration in years | |
| Management Board | entity.management.managementBoard.wayOfWork | Governance method | |
| Management Board | entity.management.managementBoard.meetingPlace | Meeting location | |
| Management Board | entity.management.managementBoard.additionalText | Additional governance details | |
| Management Board | entity.management.managementBoard.positions[].id | Board position ID | Y |
| Management Board | entity.management.managementBoard.positions[].name | Board position name | Y |
| Directors Board | entity.management.directorsBoard.memberCount | Number of board members | Y |
| Directors Board | entity.management.directorsBoard.termYears | Board term years | Y |
| Directors Board | entity.management.directorsBoard.value | Minimum value threshold | |
| Directors Board | entity.management.directorsBoard.valueMax | Maximum value threshold | |
| Directors Board | entity.management.directorsBoard.wayOfWork | Way of work | |
| Directors Board | entity.management.directorsBoard.meetingPlace | Meeting place | |
| Directors Board | entity.management.directorsBoard.meetingQuorum | Meeting quorum | Y |
| Directors Board | entity.management.directorsBoard.meetingLegalQuorum | Legal quorum requirement | Y |
| Directors Board | entity.management.directorsBoard.canDelegateAttendance | Delegation allowed | |
| Directors Board | entity.management.directorsBoard.boardCallMechanism | Mechanism for calling board meetings | |
| Directors Board | entity.management.directorsBoard.membershipExpiryTerms | Membership expiry terms | |
| Directors Board | entity.management.directorsBoard.additionalText | Additional governance text | |
| Directors Board | entity.management.directorsBoard.rewards[].id | Reward ID | Y |
| Directors Board | entity.management.directorsBoard.rewards[].name | Reward name | Y |
| Directors Board | entity.management.directorsBoard.positions[].id | Position ID | Y |
| Directors Board | entity.management.directorsBoard.positions[].name | Position name | Y |
| Activities | entity.activities[].id | Activity ID | Y |
| Activities | entity.activities[].name | Activity name | Y |
| Notification Channels | notificationChannel[].id | Notification channel ID | Y |
| Notification Channels | notificationChannel[].name | Notification channel name | Y |
| Partner Decisions | partnerDecision[].id | Decision ID | Y |
| Partner Decisions | partnerDecision[].name | Decision name | Y |
| Partner Decisions | partnerDecision[].approvePercentage | Approval percentage | Y |
| Partner Decisions | partnerDecision[].approveAdditionalText | Additional approval text | |
| Partner Decisions | additionalDecisionText | Additional decision details | |
| Set Aside Details | setAsideDetails.isSetAsideEnabled | Indicates if profit set-aside is enabled | Y |
| Set Aside Details | setAsideDetails.profitAllocation.percentage | Allocation percentage | |
| Set Aside Details | setAsideDetails.profitAllocation.purpose | Allocation purpose | |
| Articles | articles[].id | Article ID | Y |
| Articles | articles[].text | Article text | |
| Articles | articles[].partId | Article section ID | |
| Articles | articles[].partName | Article section name | |
| Additional Articles | additionalArticles[].title | Article title | Y |
| Additional Articles | additionalArticles[].text | Article text | Y |
| Additional Articles | additionalArticles[].partId | Section ID | |
| Additional Articles | additionalArticles[].partName | Section name |
Manager Permissions
To retrieve detailed manager permissions, you must call the Manager Permissions endpoint and provide the required company identifier (Unified National Number) along with the relevant manager ID, such as National ID or Passport number.
This dataset provides structured insight into the specific authorities granted to an individual manager under the company’s Articles of Association.
| Category | Field Path | Description | Mandatory |
|---|---|---|---|
| Manager Core Information | name | Full legal name of the manager | Y |
| Manager Core Information | typeId | Manager type ID | Y |
| Manager Core Information | typeName | Manager type description | Y |
| Manager Core Information | isLicensed | Indicates whether the manager holds a professional license | Y |
| Manager Identity | identity.id | Manager identity number | Y |
| Manager Identity | identity.typeId | Identity type ID | Y |
| Manager Identity | identity.typeName | Identity type description | Y |
| Manager Nationality | nationality.id | Nationality ID | Y |
| Manager Nationality | nationality.name | Nationality name | Y |
| Manager Positions | positions[].id | Position ID held by the manager | Y |
| Manager Positions | positions[].name | Position title held by the manager | Y |
| Manager Permissions | permissions[].id | Permission ID | Y |
| Manager Permissions | permissions[].name | Description of the granted authority/power | Y |
| Manager Permissions | permissions[].canIssuePOA | Indicates whether the manager can issue a Power of Attorney | |
| Manager Permissions | permissions[].canDelegate | Indicates whether the manager can delegate this authority | |
| Manager Permissions | permissions[].specialConditionText | Additional conditions or limitations on the authority | |
| Manager Permissions | permissions[].exerciseMethodId | Method of exercising the authority (ID) | Y |
| Manager Permissions | permissions[].exerciseMethodDescription | Description of exercise method (e.g. independently, jointly) | Y |
Examples
Request for Articles of Assosication
{
"type": "CONTRACT",
"identifications": [
{
"type": "UNIFIED_NUMBER",
"value": "7001272184"
}
],
"language": "en"
}Response for Articles of Association
{
"status": "OK",
"results_id": "8de9ce52-f3d0-4dee-9e57-34779147799c",
"message": "Data successfully retrieved",
"meta": null,
"timestamp": "2026-02-11T11:51:00.448818305Z",
"status_detail": null,
"verifications": {
"status": null,
"commercial_registry": {
"national_number": "7001272184",
"registration_number": "1001272184",
"version_number": null
},
"company_name": {
"en": "company akhtbar for trade",
"ar": null
},
"name_language": {
"id": 1,
"description": {
"en": "Arabic",
"ar": null
}
},
"commercial_registration_capital": null,
"days_since_company_established": 0,
"main_commercial_registry": null,
"issue_date": null,
"in_liquidation_process": null,
"has_e_commerce": null,
"headquarters": {
"city_id": 0,
"city_name": {
"en": "Riyadh",
"ar": null
}
},
"license": {
"is_license_based": true,
"issuer_national_number": "76537",
"issuer_name": {
"en": "Ministry of Commerce",
"ar": null
}
},
"partners": null,
"entity_type": {
"name": {
"en": "Company",
"ar": null
},
"form_name": {
"en": "Limited liability company",
"ar": null
},
"characters": [
{
"en": "Limited liability company",
"ar": null
}
]
},
"confirmation_date": null,
"reactivation_date": null,
"suspension_date": null,
"deletion_date": null,
"contact_info": null,
"e_commerce": null,
"capital_information": {
"currency": {
"en": "Saudi Riyal",
"ar": null
},
"contribution_capital": {
"en": "In-Cash",
"ar": null,
"cash_capital": 0,
"in_kind_capital": 0,
"contribution_value": 0,
"total_cash_contribution": 0,
"total_in_kind_contribution": 0
},
"stock_capital": null
},
"fiscal_year": {
"is_first": true,
"calendar_type": {
"en": "Hijri",
"ar": null
},
"end_month": 0,
"end_day": 0,
"end_year": 0
},
"parties": [
{
"name": {
"en": "Endowment",
"ar": null
},
"type": {
"en": "Endowment",
"ar": null
},
"identity": {
"id": "7111111111",
"type": {
"en": "Endowment Deed No",
"ar": null
}
},
"partnership": [
{
"en": "Founder",
"ar": null
}
],
"partner_share": {
"cash_contribution_count": 0,
"in_kind_contribution_count": 0,
"total_contribution_count": 0
},
"nationality": null,
"license_number": null,
"commercial_registration_number": null,
"partner_profit_loss_distribution": {
"profit_distribution": 0,
"loss_distribution": 0
},
"guardian": null
}
],
"management": {
"structure_name": {
"en": "Two or More Managers",
"ar": null
},
"dismissal_method": {
"en": "By resolution",
"ar": null
},
"managers": [
{
"name": {
"en": "Mr. Abdullah Salem",
"ar": null
},
"type": {
"en": "Resident",
"ar": null
},
"is_licensed": true,
"identity": {
"id": "1101552234",
"type": {
"en": "National id",
"ar": null
}
},
"nationality": {
"type": {
"en": "Saudi",
"ar": null
}
},
"positions": [
{
"en": "Executive Director",
"ar": null
}
]
}
],
"management_board": {
"meeting_quorum_id": 1,
"meeting_quorum_name": {
"en": "All Managers",
"ar": null
},
"can_delegate_attendance": true,
"term_years": 5,
"way_of_work": {
"en": "Jointly",
"ar": null
},
"meeting_place": {
"en": "Riyadh",
"ar": null
},
"additional_text": {
"en": "",
"ar": null
},
"positions": []
},
"directors_board": null
},
"liquidators": null,
"activities": [
{
"en": "Manufacture of men's cloaks",
"ar": null
},
{
"en": "Other activities of manufacture of wood sawing",
"ar": null
},
{
"en": "Manufacture of stairs and handrails",
"ar": null
}
],
"contract_copy_number": 1,
"contract_date": "2025-02-23",
"notification_channel": [
{
"id": 1,
"name": {
"en": "SMS",
"ar": null
}
}
],
"partner_decision": [
{
"id": 4,
"name": {
"en": "Amendment to the articles of incorporation",
"ar": null
},
"approve_percentage": "75",
"approve_additional_text": {
"en": "",
"ar": null
}
}
],
"additional_decision_text": "",
"set_aside_details": {
"is_set_aside_enabled": true,
"profit_allocation": {
"percentage": 10,
"purpose": {
"en": "Reserve fund",
"ar": null
}
}
},
"articles": [
{
"id": 1,
"text": {
"en": "Company name and type",
"ar": null
},
"part_id": 1,
"part_name": {
"en": "General provisions",
"ar": null
}
}
],
"additional_articles": [],
"addresses": null
}
}Request for Manager Permissions
{
"identifications": [
{
"type": "UNIFIED_NUMBER",
"value": "7001272184"
},
{
"type": "NATIONAL_ID",
"value": "1234567890"
}
],
"language": "en"
}Response for Manager Permissions
{
"status": "OK",
"results_id": "7bc10af4-58e7-40c7-b108-859d98563ddb",
"message": "OK",
"meta": null,
"timestamp": "2026-02-24T06:54:00.310371Z",
"status_detail": null,
"verifications": [
{
"name": {
"en": "Fahd Mohammed Muath Khalid",
"ar": null
},
"type": {
"en": "Saudi",
"ar": null
},
"is_licensed": false,
"identity": {
"id": "1132381599",
"type": {
"en": "National ID",
"ar": null
}
},
"nationality": {
"type": {
"en": "Saudi Arabia",
"ar": null
}
},
"positions": [
{
"en": "Vice Chairman of Board of Directors",
"ar": null
}
],
"permissions": [
{
"id": 77442,
"name": {
"en": "Accept Mortgage",
"ar": null
},
"can_issue_poa": true,
"can_delegate": true,
"special_condition_text": {
"en": "Full authority",
"ar": null
},
"exercise_method_id": 3,
"exercise_method_description": {
"en": "Individual",
"ar": null
}
}
]
}
]
}Testing the API
To test the API you can use the following details;
Dataset | API | Type (if applicable) | Identifiers |
|---|---|---|---|
Full Company Articles Information | Business Verification API | Requested via | UNN: 7001272184 |
Manager Permissions | Manager Permissions API | N/A | UNN: 7001272184 NID: 1234567890 |
Updated about 20 hours ago
