calculate_cac_fees
Calculate CAC registration fees
CAC's official registration fees, line by line, for a business name, a limited company (by authorised share capital, default ₦1,000,000) or an NGO (Incorporated Trustees). Use it for any question about what CAC charges to register. These are government fees, not FastCAC's price.
Parametersentityrequiredshare_capital
check_annual_returns
Work out annual returns due
For a CAC business name: which annual returns are due from its registration date, which are overdue, CAC's estimated charge, and when the next one is due. Needs the registration date (it's on the certificate). Without it, the annual returns checker on fastcac.com looks the date up by BN number.
Parametersregistration_daterequired
check_business_name_compliance
Run CAC's name compliance check
Run a proposed business name and its exact CAC line of business through CAC's own compliance and similarity checker. Returns compliance/similarity scores and, when the name is too close to an existing one, CAC's suggested alternatives. Slower and rate limited: use it for a name the user is seriously considering.
Parametersproposed_namerequiredline_of_businessrequired
check_name_availability
Check a name against CAC's register
Search CAC's public registry for names matching or similar to a name, across every registration type (business names, companies, LLPs, trustees). CAC rejects a new name that's too close to any of them, active or inactive. close_matches share a distinctive word with the name: any close match means the name is at risk. other_matches only share generic words. An empty close_matches usually means it's available, but CAC makes the final call.
Parametersnamerequired
generate_business_names
Suggest business names
Brainstorm CAC-registrable business names for an idea. Each name comes back already checked against CAC's registry, with `availability`: likely_available, similar_names_exist, or unchecked (CAC's search was busy).
Parametersidearequiredline_of_business
get_cac_tax_id
Get a registered business's Tax ID
Get the Tax ID (TIN) CAC's public search shows for a registered business. Takes company_id, rc_number and classification_id from a search_cac_register result. Returns { name, rc_number, tax_id }, or an error 'not_found' when CAC has none.
Parametersrc_numberrequiredcompany_idrequiredclassification_idrequired
get_nin_request_status
Check a NIN request
Where a request from start_nin_request stands: status (waiting_for_person, started, settling, verified, failed, expired, paid, delivered, delivery_failed), next_step in words, the products and their naira prices. Never the NIN or the person's details: those go only to the person.
Parametersrequest_handlerequired
search_cac_register
Search CAC's public register
Search the Corporate Affairs Commission's (CAC) public register for businesses already registered in Nigeria, by name or by RC/BN number. Returns `results`: name, rc_number (the BN number for a business name), registration_date, classification, nature_of_business, status (e.g. ACTIVE or INACTIVE), company_id, classification_id and match (exact, close, similar or null), best match first. This lists what exists; it isn't an availability check (check_name_availability and check_business_name_compliance are). An `error` never means there's no match.
Parametersqueryrequiredentity_type
search_line_of_business
Find a CAC line of business
Find exact entries in CAC's line-of-business picklist matching what the business does.
Parametersqueryrequired
start_nin_request
Start a NIN or NIN slip request
Start a paid request on fastcac.com for: 'slip' = the person's NIMC NIN slip (PDF and print-ready image), using their NIN; 'phone' = the person's NIN, found with the phone number they registered with NIMC (on fastcac.com they can add the slip; you can't request it here). Returns a link for the person and a request_handle for you. The person does a live face check and pays on fastcac.com (₦1,000 for the slip; ₦500 for the NIN, ₦1,200 with the slip); the result goes only to them. Starting is free and charges nothing.
Parameterskindrequired
apply_discount_code
Apply a discount code
Apply a discount code the user gives you to a registration that isn't paid yet.
Parameterscoderequiredbusiness_idrequired
create_business
Start a business registration
Start a new registration: creates the business (as a draft) with the name the user wants to register, in the workspace they're in (pass `workspace` only when they ask for the other one). A personal registration needs a verified WhatsApp number: without one it returns whatsapp_unverified (request_whatsapp_verification sets it up).
Parametersnamerequiredworkspace
create_share_link
Create a share link
Make a share link and show it as a Copy button. If one is already live, this replaces it (the old one stops working), so it shows a Confirm button first. review_enabled (status links) lets the viewer review the registration details.
Parameterspurposebusiness_idrequiredreview_enabled
delete_business
Delete a business
Delete one of their businesses that hasn't been paid for (draft or pending_payment) with its registration details and documents. If it can be deleted, a Confirm button is shown and nothing is deleted until they tap it; if not, you get the reason (e.g. it's been paid for). Call it only when they ask to delete it - not when they just ask whether they can.
Parametersbusiness_idrequired
fetch_nin_slip
Fetch the NIN slip for a registration
Get their NIN slip for them from NIMC's record for their confirmed NIN, instead of them uploading a photo of it. Free to them. Only after they agree, and only once their NIN is confirmed. The slip is never shown to them.
Parametersbusiness_idrequired
get_action_status
Check a step on FastCAC
Whether the person finished a step you handed them on FastCAC (a tool returned status 'action_required' with an action_id): confirming a change, paying, uploading documents, entering their NIN or verifying WhatsApp. Returns status (pending, started, completed, failed, cancelled, expired) and next_step in words.
Parametersaction_idrequired
get_cac_documents
Get the CAC certificate and status report
For an approved registration: show Download buttons for the CAC certificate and status report, once we have them.
Parametersbusiness_idrequired
get_capabilities
Check what the account can do
What they can do right now and why not: the workspace they're in and who they register for, the Agent subscription (status, renewal, days left), credits, WhatsApp, personal drafts, whether a registration can start in each workspace (and the tool that unblocks it), credit purchases, and features switched on for them.
Takes no parameters.
get_credits
Check credit balance
Their credit balance, recent credit activity, Agent subscription status, and the credit packs they can buy (pack_id for request_credit_purchase).
Takes no parameters.
get_notification_preferences
Check notification settings
How they get updates: in-app, email, WhatsApp, and WhatsApp tips and offers.
Takes no parameters.
get_registration_state
Check a registration's progress
Read where one of the user's registrations stands: status, stage, next action and action_path, which form sections are done, missing or invalid fields (names only), each document's status and what's wrong with it, payment status, whether their NIN is confirmed, and for a queried registration CAC's reason plus each flagged item with its fix_path and whether it's resolved. It never includes personal details (NIN, date of birth, phone, addresses); those are on the registration page.
Parametersbusiness_idrequired
get_subscription
Check the subscription
Their Agent subscription: status (none, trialing, active, past_due...) and period end.
Takes no parameters.
list_my_businesses
List my businesses
List the signed-in user's businesses with each registration's stage, the next action, and action_path (the dashboard page for that action).
Takes no parameters.
list_notifications
List notifications
Their recent notifications (unread only by default).
Parametersunread_only
list_share_links
List a business's share links
A business's share links: the status link (anyone with it sees progress) and the details form link (the owner fills in their own details). Whether each is live, when it expires. Never the link itself.
Parametersbusiness_idrequired
manage_subscription
Open subscription billing
Show a button to Paystack's page for changing their card or cancelling the subscription.
Takes no parameters.
mark_notifications_read
Mark notifications read
Mark all their notifications as read.
Takes no parameters.
recheck_documents
Recheck uploaded documents
Run the checks again on documents that are stuck (e.g. the check service was down, or the NIN slip is waiting on the passport photo). Not for a document that failed - that needs a new upload.
Parametersbusiness_idrequired
refresh_cac_status
Refresh a registration's CAC status
Ask CAC now for the latest on a registration that's with them (submitted or queried). Changes arrive as system events too.
Parametersbusiness_idrequired
remove_discount_code
Remove a discount code
Remove the discount code from a registration that isn't paid yet.
Parametersbusiness_idrequired
remove_whatsapp
Remove the WhatsApp number
Remove their WhatsApp number. Shows a Confirm button first.
Takes no parameters.
rename_business
Rename a business
Rename a business (its display name; not allowed once CAC approved it).
Parametersnamerequiredbusiness_idrequired
request_credit_purchase
Ask the person to buy credits
Show a Pay button for a credit pack (Agent subscribers). Use a pack_id from get_credits.
Parameterspack_idrequired
request_documents
Ask the person to upload documents
Show an Upload button for a registration's documents (passport photo, NIN slip, signature, and a supporting document if CAC's name check asked for one). Without document_types it asks for every required document still missing or failed; name document_types to ask for specific ones again (e.g. CAC queried the passport photo). Files never pass through you; each verdict arrives as a system event.
Parametersbusiness_idrequireddocument_types
request_nin
Ask for the person's NIN on FastCAC
Show a secure NIN field for a business so the user can verify their identity. Their name, date of birth and gender are filled from it. The NIN is typed into that field, not into the conversation.
Parametersbusiness_idrequired
request_payment
Ask the person to pay for a registration
Show a Pay button for a registration once its form is complete. The amount comes from FastCAC's pricing (less any discount code applied). You never see card details or the payment link; the outcome arrives as a system event.
Parametersbusiness_idrequired
request_subscription
Ask the person to subscribe
Show a Start free trial button for the Agent subscription (for people registering businesses for clients). 14 days free, set up on Paystack.
Takes no parameters.
request_whatsapp_verification
Ask the person to verify WhatsApp
Show a Verify on WhatsApp button. Needed before starting a business or paying (create_business / request_payment return whatsapp_unverified).
Takes no parameters.
revoke_share_link
Revoke a share link
Turn off a business's share link. Shows a Confirm button first.
Parameterspurposebusiness_idrequired
set_share_review
Turn share-link review on or off
Turn on or off the 'review the details' section on a business's live status link.
Parametersenabledrequiredbusiness_idrequired
show_share_link
Show a share link
Show a Copy button for a business's live share link.
Parameterspurposebusiness_idrequired
switch_workspace
Switch workspace
Switch the dashboard between their Personal workspace (their own businesses) and the Agent workspace (businesses they register for clients; needs the subscription).
Parametersworkspacerequired
update_notification_preferences
Change notification settings
Turn update channels on or off. Only pass the ones they asked to change.
Parametersemail_enabledin_app_enabledwhatsapp_enabledwhatsapp_marketing_enabled
update_profile
Update the profile name
Change their account name (first and/or last name). Not a registration's proprietor name.
Parameterslast_namefirst_name
update_registration_fields
Fill in the registration form
Save registration form fields from what the user told you. Only these fields can be set: proposedOption1 (Proposed business name), lineOfBusiness (Line of business (exact CAC picklist entry)), proprietorPhonenumber (Phone number (digits only)), proprietorEmail (Email), proprietorState (State), proprietorLga (LGA), proprietorCity (City), proprietorStreetNumber (Street number), proprietorServiceAddress (Street name / address), proprietorPostcode (Postcode (digits only)), companyState (Company state), companyCity (Company city), companyStreetNumber (Company street number), companyAddress (Company street name / address), companyEmail (Company email). Returns what saved, anything invalid, and what's still missing.
Parametersfieldsrequiredbusiness_idrequired
use_nin_photo_for_passport
Use the NIN photo as the passport photo
Use the photo from their confirmed NIN record as the passport photograph instead of uploading one. Only after they agree, and only once their NIN is confirmed.
Parametersbusiness_idrequired