Skip to main content
POST
/
v1
/
edit-company
/
{companyId}
curl -X POST https://api.vouchmark.com/v1/edit-company/cmp_aBcD... \
  -H "Authorization: Bearer $TOKEN" \
  -F 'city=Lagos' \
  -F 'state=Lagos' \
  -F 'socials={"website":"https://tekcify.com"}' \
  -F 'shareHolderDetails=[{"name":"Ada Obi","email":"ada@tekcify.com","idType":"NIN","identificationNumber":"12345678901","noOfShares":5000}]' \
  -F 'shareholderIdDocs=@./ada-nin.pdf'
{
  "success": true,
  "message": "Company details updated successfully",
  "company": {
    "id": "cmp_aBcD...",
    "shareHolderDetails": [
      {
        "name": "Ada Obi",
        "email": "ada@tekcify.com",
        "idType": "NIN",
        "identificationNumber": "12345678901",
        "noOfShares": 5000,
        "identificationDocumentUrl": "https://cdn.vouchmark.com/..."
      }
    ]
  }
}
Updates profile, contact, share, shareholder, and social details for a claimed company. The request is multipart/form-data so shareholder ID documents can be attached in the same call. Most fields are sent as flat form fields; shareHolderDetails, registrarInfo, and socials are JSON-encoded.

Path

companyId
string
required
The company must be owned by the caller.

Form fields

All fields are optional. Send each as a separate multipart/form-data part.
companyName
string
rcNumber
string
email
string
phone
string
address
string
city
string
state
string
postcode
string
natureOfBusiness
string
businessCategory
string
businessDescription
string
headOfficeAddress
string
company_classification
string
firsTin
string
shareCapital
string | number
vouchShareCapital
string | number
shareCapitalInWords
string
dividedInto
string
registrationApproved
string | boolean
active
string | boolean
website_verified
string | boolean
shareHolderVerified
boolean
shareHolder
boolean
When true, the response echoes the updated shareHolderDetails array instead of the trimmed company object.
socials
object
JSON-encoded. Keys: website, facebook, instagram, linkedin, twitter, tiktok (each a URL). A reachable website flips website_verified to true.
registrarInfo
string | object
JSON-encoded. Keys: surname, firstname, email, nationality, date_of_birth.
shareHolderDetails
string | array
JSON-encoded array. Each shareholder may include name, email, address, dateOfBirth, nationality, idType, roleInCompany, percentageOfOwner, noOfShares, identificationNumber, phoneNumber, identificationDocumentUrl. Supplying this array sets shareHolderVerified to true.
shareholderIdDocs
file[]
Up to 10 PDFs, ≤ 50 MB each. Files are matched to shareholders by position — the first file applies to the first entry in shareHolderDetails, the second to the second, and so on. Each uploaded document is verified against the shareholder’s name, identificationNumber, and idType before it is stored; a shareholder with no matching file keeps its existing document. Extra files beyond the shareholder count are ignored.
curl -X POST https://api.vouchmark.com/v1/edit-company/cmp_aBcD... \
  -H "Authorization: Bearer $TOKEN" \
  -F 'city=Lagos' \
  -F 'state=Lagos' \
  -F 'socials={"website":"https://tekcify.com"}' \
  -F 'shareHolderDetails=[{"name":"Ada Obi","email":"ada@tekcify.com","idType":"NIN","identificationNumber":"12345678901","noOfShares":5000}]' \
  -F 'shareholderIdDocs=@./ada-nin.pdf'
{
  "success": true,
  "message": "Company details updated successfully",
  "company": {
    "id": "cmp_aBcD...",
    "shareHolderDetails": [
      {
        "name": "Ada Obi",
        "email": "ada@tekcify.com",
        "idType": "NIN",
        "identificationNumber": "12345678901",
        "noOfShares": 5000,
        "identificationDocumentUrl": "https://cdn.vouchmark.com/..."
      }
    ]
  }
}
If no owned company matches companyId, the endpoint returns 404 with { "message": "Company not found" }. Invalid shareholder JSON returns 400 with { "message": "Invalid JSON data provided" }.