1.2.0 • Published 7 years ago

@lawscout/founded-api v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 years ago

Founded Node.js Library

Founded API NPM License

The Founded Node.js library provides access to the Founded and Auto Clerk APIs from applications written in server-side JavaScript.

Please keep in mind that this package is only for use with server-side Node and requires either a development or production api key.

Installation

Install the package with:

npm install @lawscout/founded-api

Usage

The package needs to be configured with your api key. Only use your production key in a production environment as you will be billed per bundle generated. Using a development key allows development and testing of all methods without incurring additional cost however all generated documents will be watermarked specimen.

example:

const founded = require('founded-api')({ apiKey: 'my-api-key' });

Organization Documents Bundle

example:

const founded = require('founded-api')({ apiKey: 'my-api-key' });

const orgData = {...} // see documentation below for details

// get company organization documents
founded.getOrganizationBundle(orgData).then(pdf => {
    fs.writeFile(`./organization-docs.pdf`, pdf, (error) => {
        if (error) {
            console.error(error)
        }
    })
}).catch(error => {
    console.error(error)
})

Bundle Data Details

Example

{
    date: '2018-02-14',
    companyName: 'Beatles Shipping Inc.',
    federal: true,
    fiscalYearEnd: 'December',
    registeredOffice: <address>,
    directors: [<director>],
    officers: [<officer>],
    shareholders: [<shareholder>]
}

Format

KeyTypeRequiredDescription
dateStringYesThe date to be used as the date of organization. This date should not be before the date of incorporation. Use format yyyy-mm-dd
companyNameStringYesThe name of the company
federalBooleanNoA boolean indicating if the company is a federal company. If this parameter is not provided it will be treated as if false was set. Note 1: If the company is not federal the province of the registered office will be assumed to be the incorporating province. Note 2: Federal companies are required to have 25% Canadian resident directors.
fiscalYearEndStringYesThe month of which the last day is to be used as the fiscal year end. Use full month name ex: December
registeredOfficeAddressYesThe companies registered address. The province of the registered address will determine what type of organizational docs to prepare. See address type format
directorsArrayYesAn array of all company directors. See director type format
officersArrayYesAn array of all company officers. At least 1 President is required. See officer type format
shareholdersArrayYesAn array of all shareholders. At least 1 voting shareholder is required. See shareholder type format

Address Data

Example

{
    street1: '123 Dundas St',
    street2: 'Apt 5',
    city: 'Toronto',
    region: 'ON',
    country: 'Canada',
    postalCode: 'M4M 4B7'
}

Format

KeyTypeRequiredDescription
street1StringYesLine 1 of the address. ex. 10 Dundas St E
street2StringNoLine 2 of the address. ex. Unit 1001 Note: Line 2 can be an empty string
cityStringYesThe city or town of the address
regionStringYesThe province or state or region of the address. Note: use region short codes. ex. AB, BC, ON, QC, etc.
countryStringYesThe full country name of the address. Note: Use full country names. ex. Canada, United States, Australia, etc.
postalCodeStringYesThe postal or zip code of the address. ex. M4M 1V6, 90210, etc.

Director Data

Example

{
    firstName: 'John',
    lastName: 'Lennon',
    address: <address>,
    canadianResident: true
}

Format

KeyTypeRequiredDescription
firstNameStringYesThe director's first name
lastNameStringYesThe director's last name
addressAddressYesThe director's address. See address type format
canadianResidentBooleanNoThe director's Canadian residency. Note: Canadian residency status is only required for Federal corporations and can be ignored for provincial corporations

Officer Data

Example

{
    firstName: 'John',
    lastName: 'Lennon',
    address: <address>,
    positions: ['President', 'CEO']
}

Format

KeyTypeRequiredDescription
firstNameStringYesThe officer's first name
lastNameStringYesThe officer's last name
addressAddressYesThe officer's address See address type format
positionsArrayYesArray of officer position strings. ex: President, Secretary, CEO. Note: All corporations are required to have both a President and a Secretary

Shareholder Data

Example

{
    firstName: 'John',
    lastName: 'Lennon',
    address: <address>,
    classes: [<class_issuance>]
}

Format

KeyTypeRequiredDescription
firstNameStringYesThe shareholder's first name
lastNameStringYesThe shareholder's last name
addressAddressYesThe shareholder's address See address type format
classesArrayYesArray of share class issuance objects. See class issuance type format

Class Issuance Data

Example

{
    name: 'A',
    total: 1000,
    price: 250.00
    properties: <class_properties>
}

Format

KeyTypeRequiredDescription
nameStringYesThe name of the share class. ex. A, B, etc
totalNumberYesThe total number of shares issued of this class type
priceNumberYesThe total price paid for these shares. Note: The price is expected to be a standard dollar amount or a number with 2 decimal places
propertiesClassPropertiesYesThe class properties of this share class. See class properties type format

Class Properties Data

Example

{
    voting: true,
    preferred: true
}

Format

KeyTypeRequiredDescription
votingBooleanYesTrue if the class is a voting class.
preferredBooleanYesTrue if the class is a preferred class.

Full Organization Example Data

{
    date: '2018-02-14',
    companyName: 'Beatles Shipping Inc.',
    fiscalYearEnd: 'December',
    registeredOffice: {
        street1: '123 Dundas St',
        street2: '',
        city: 'Toronto',
        region: 'ON',
        country: 'Canada',
        postalCode: 'M4M 4B7'
    },
    directors: [{
        firstName: 'John',
        lastName: 'Lennon',
        address: {
            street1: '1 Yonge St',
            street2: 'Unit 10',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M1M 1D6'
        },
        canadianResident: true
    },
    {
        firstName:'Paul',
        lastName:'McCartney',
        address: {
            street1: '100 Queen St',
            street2: '',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M4M 1B6'
        },
        canadianResident: true
    }],
    officers: [{
        firstName:'John',
        lastName:'Lennon',
        address: {
            street1: '1 Yonge St',
            street2: 'Unit 10',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M1M 1D6'
        },
        positions:['President']
    },
    {
        firstName:'Paul',
        lastName:'McCartney',
        address: {
            street1: '100 Queen St',
            street2: '',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M4M 1B6'
        },
        positions:['Secretary']
    }],
    shareholders: [{
        firstName:'John',
        lastName:'Lennon',
        address: {
            street1: '1 Yonge St',
            street2: 'Unit 10',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M1M 1D6'
        },
        classes: [{
            name: 'A',
            total: 2500,
            price: 25.00,
            properties: {
                voting: true,
                preferred: false
            }
        }]
    },
    {
        firstName:'Paul',
        lastName:'McCartney',
        address: {
            street1: '100 Queen St',
            street2: '',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M4M 1B6'
        },
        classes: [{
            name: 'A',
            total: 2500,
            price: 25.00,
            properties: {
                voting: true,
                preferred: false
            }
        }]
    },
    {
        firstName:'Geroge',
        lastName:'Harrison',
        address: {
            street1: '100 King St',
            street2: '',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M2M 1B6'
        },
        classes: [{
            name: 'A',
            total: 2500,
            price: 25.00,
            properties: {
                voting: true,
                preferred: false
            }
        }]
    },
    {
        firstName:'Ringo',
        lastName:'Star',
        address: {
            street1: '100 Front St',
            street2: '',
            city: 'Toronto',
            region: 'ON',
            country: 'Canada',
            postalCode: 'M3M 1B6'
        },
        classes: [{
            name: 'A',
            total: 2500,
            price: 25.00,
            properties: {
                voting: true,
                preferred: false
            }
        }]
    }]
}

Articles of Incorporation Parsing

example:

const founded = require('founded-api')({ apiKey: 'my-api-key' });

const juridictionKey = 'BC'
const localPathToArticlesPDF = 'path/to/bc-articles.pdf'

// parse articles of incorporation documents
founded.parseArticles(jurisdictionKey, localPathToArticlesPDF).then(results => {
    // results will be an object like the following
    // {
    //     corporationName:"xxxxxxxx Ontario Inc.",
    //     corporationNumber:"xxxxxxx",
    //     incorporationDate:"2018-09-01"
    // }
    console.info(results)
}).catch(error => {
    console.error(error)
})

Details

Supported juriditions are as follows:

JuridictionKey
FederalCA
AlbertaAB
British ColumbiaBC
OntarioON
1.2.0

7 years ago

1.1.0

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago