REST API for partners

As a partner, you can initiate Regulation D offerings on behalf of your clients.

After building a REST API integration, you may want to enable webhooks for automatic updates.

Overview

The Raiseform API is a RESTful JSON API. That means it is designed to:

  • follow standard RESTful conventions
  • accept JSON-formatted requests
  • return JSON-formatted responses

Contents

This guide covers the following topics:

Authentication

API authentication is key-based.

API keys can only be generated by marketplace users with a verified email.

As a verified marketplace user, you can create an API key by going to Account > API keys > Create an API key. Immediately save your key secret, because it will never be displayed again.

Your API key value must be provided in an "Authorization" header with a "Token" type, like this:

Authorization: Token 55555555-5555-5555-5555-555555555555

Errors

If your request encounters an error, the API will return an error response with this structure:

{
  "errors": [
    "Your authentication key is invalid."
  ]
}

Companies

You can use the API to create Companies, under which you can later add Offerings and Investors. You can also use the API to check the status of any Company you created previously.

Create Company

Create a Company profile.

Endpoint

POST https://api.raiseform.com/v1/companies

Parameters

  • external_id (String) - Optional
    Any outside ID you want to associate with this Company.
  • name (String) - Required
    The name of this Company, like "Utopia Inc".
  • users (Array) - Required
    An array of hashes with the user email. If the user account does not exist, Raiseform will email the user. Max of 5 users.

Response

Expect response status 201 Created.

After creating a Company, you can ask the users to check their email for an verification link from Raiseform.

Example Request JSON

{
  "name": "Utopia Inc",
  "users": [
    {
      "email": "ceo@company.com"
    }
  ]
}

Example Response JSON

{
  "created_at": "2025-10-21T02:17:00Z",
  "external_id": null,
  "id": "56df73de-22ee-4e39-90a0-04c231da1425",
  "name": "Utopia Inc",
  "object": "Company",
  "users": [
    {
      "email": "ceo@company.com"
    }
  ]
}

Read Company

Get the details of an existing Company.

Endpoint

GET https://api.raiseform.com/v1/companies/:id

Response

Expect response status 200 Succeeded.

Example Request JSON

{
}

Example Response JSON

{
  "created_at": "2025-10-21T02:17:00Z",
  "external_id": null,
  "id": "56df73de-22ee-4e39-90a0-04c231da1425",
  "name": "Utopia Inc",
  "object": "Company",
  "users": [
    {
      "email": "ceo@company.com"
    }
  ]
}

Offerings

You can use the API to create Offerings on behalf of companies, to start the Regulation D offering process. You can also use the API to check the status of any Offering you created previously.

Create Offering

Start an offering on behalf of a company.

Endpoint

POST https://api.raiseform.com/v1/offerings

Parameters

  • close_amounts (Array of Integers) - Optional
    The "first close" amount, and any subsequent close amounts. If given, no funds will be disbursed to company until the first close is reached.
  • company_id (String) - Required
    The Company ID value you generated previously.
  • deadline_at (String) - Optional
    The deadline for the offering in ISO 8601 datetime format,
    like "2026-04-21T17:00:00Z".
  • external_id (String) - Optional
    Any outside ID you want to associate with this Offering.
  • minimum_amount (Integer) - Optional
    The minimum amount that must be raised. If given, no funds will be disbursed to company until the minimum is reached. If given with a deadline_at, funds will be returned to investors if the minimum is not reached by that date.
  • name (String) - Required
    The name of this Offering, like "Utopia Inc 2025 Reg D".
  • regulation_type (String) - Required
    The regulation this is being offered under. Choose from:
    • regulation_d_506_c
  • total_amount (Integer) - Optional
    The total amount that can be raised. If given, no funds will be accepted after the total is reached.

Response

Expect response status 201 Created.

After creating an Offering, you can begin inviting Investors.

Example Request JSON

{
  "company_id": "56df73de-22ee-4e39-90a0-04c231da1425",
  "name": "Utopia Inc 2025 506(c)",
  "regulation_type": "regulation_d_506_c"
}

Example Response JSON

{
  "close_amounts": [

  ],
  "created_at": "2025-10-21T02:17:00Z",
  "deadline_at": null,
  "external_id": null,
  "id": "bc5957fb-8952-48b0-83db-b964ec71de4d",
  "minimum_amount": 0,
  "name": "Utopia Inc 2025 506(c)",
  "number": 5555,
  "object": "Offering",
  "raised_amount": 0,
  "state": "open",
  "total_amount": 0
}

Read Offering

Get the details of an existing Offering.

Endpoint

GET https://api.raiseform.com/v1/offerings/:id

Response

Expect response status 200 Succeeded.

Example Request JSON

{
}

Example Response JSON

{
  "close_amounts": [

  ],
  "created_at": "2025-10-21T02:17:00Z",
  "deadline_at": null,
  "external_id": null,
  "id": "bc5957fb-8952-48b0-83db-b964ec71de4d",
  "minimum_amount": 0,
  "name": "Utopia Inc 2025 506(c)",
  "number": 5555,
  "object": "Offering",
  "raised_amount": 0,
  "state": "open",
  "total_amount": 0
}

Investors

Manage which investors have access to an Offering.

Invite Investor

Invite an investor to an Offering. Raiseform will email them an invitation to complete any applicable investor verification (considering investor_accredited_required if applicable). After all applicable verification is complete, Raiseform will email the investor wire transfer instructions (specifying committed_amount if applicable).

Endpoint

POST https://api.raiseform.com/v1/investors

Parameters

  • email (String) - Required
    Raiseform will send an invite to this email. (The user may not choose to accept the invite under this email.)
  • external_id (String) - Optional
    Any outside ID you want to associate with this Investor.
  • offering_id (String) - Required
    The Offering ID value you generated previously.
  • two_factor_authentication_required (Boolean) - Optional
    Defaults to false. Set to true if this person should be forced to enable two-factor authentication.

Response

Expect response status 201 Created.

Example Request JSON

{
  "email": "investor@example.com",
  "offering_id": "bc5957fb-8952-48b0-83db-b964ec71de4d"
}

Example Response JSON

{
  "created_at": "2025-10-21T02:17:00Z",
  "email": "investor@example.com",
  "external_id": null,
  "funds_transfer_instructions": {
    "wire": {
      "account_holder": {
        "name": "Dealform LLC",
        "line_1": "4023 Kennett Pike",
        "line_2": "#50653",
        "city": "Wilmington",
        "state_code": "DE",
        "postal_code": "19807",
        "country_code": "US"
      },
      "account_number": "9999999999",
      "bank": {
        "name": "Truist Bank",
        "line_1": "611 W 5th St",
        "line_2": null,
        "city": "Austin",
        "state_code": "TX",
        "postal_code": "78701",
        "country_code": "US"
      },
      "reference": "Investor #7777",
      "routing_number": "111017694"
    }
  },
  "id": "e4cb875c-dc05-458f-af1a-9b5bef8c491a",
  "number": 7777,
  "object": "Investor",
  "offering_id": "bc5957fb-8952-48b0-83db-b964ec71de4d",
  "two_factor_authentication_required": false
}

Questions or suggestions

If you have any questions or suggestions, please contact support.