@lawscout/founded-api

1.2.0 • Public • Published

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

Key Type Required Description
date String Yes The date to be used as the date of organization. This date should not be before the date of incorporation. Use format yyyy-mm-dd
companyName String Yes The name of the company
federal Boolean No A 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.
fiscalYearEnd String Yes The month of which the last day is to be used as the fiscal year end. Use full month name ex: December
registeredOffice Address Yes The companies registered address. The province of the registered address will determine what type of organizational docs to prepare. See address type format
directors Array Yes An array of all company directors. See director type format
officers Array Yes An array of all company officers. At least 1 President is required. See officer type format
shareholders Array Yes An 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

Key Type Required Description
street1 String Yes Line 1 of the address. ex. 10 Dundas St E
street2 String No Line 2 of the address. ex. Unit 1001 Note: Line 2 can be an empty string
city String Yes The city or town of the address
region String Yes The province or state or region of the address. Note: use region short codes. ex. AB, BC, ON, QC, etc.
country String Yes The full country name of the address. Note: Use full country names. ex. Canada, United States, Australia, etc.
postalCode String Yes The postal or zip code of the address. ex. M4M 1V6, 90210, etc.

Director Data

Example

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

Format

Key Type Required Description
firstName String Yes The director's first name
lastName String Yes The director's last name
address Address Yes The director's address. See address type format
canadianResident Boolean No The 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

Key Type Required Description
firstName String Yes The officer's first name
lastName String Yes The officer's last name
address Address Yes The officer's address See address type format
positions Array Yes Array 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

Key Type Required Description
firstName String Yes The shareholder's first name
lastName String Yes The shareholder's last name
address Address Yes The shareholder's address See address type format
classes Array Yes Array 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

Key Type Required Description
name String Yes The name of the share class. ex. A, B, etc
total Number Yes The total number of shares issued of this class type
price Number Yes The total price paid for these shares. Note: The price is expected to be a standard dollar amount or a number with 2 decimal places
properties ClassProperties Yes The class properties of this share class. See class properties type format

Class Properties Data

Example

{
    voting: true,
    preferred: true
}

Format

Key Type Required Description
voting Boolean Yes True if the class is a voting class.
preferred Boolean Yes True 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:

Juridiction Key
Federal CA
Alberta AB
British Columbia BC
Ontario ON

Readme

Keywords

none

Package Sidebar

Install

npm i @lawscout/founded-api

Weekly Downloads

1

Version

1.2.0

License

MIT

Unpacked Size

18.9 kB

Total Files

5

Last publish

Collaborators

  • mark.que.rbc
  • stephen.goneau
  • rbcv-svc-sw20-devops
  • danielleecc
  • marissacola