Rocket Lawyer website screenshot

Rocket Lawyer

Rocket Lawyer is a San Francisco, California online legal technology company that has helped over 20 million businesses and individuals get online legal help. Founded in 2008, Rocket Lawyer offers self-service lawyer-vetted legal documents (contracts, NDAs, leases, wills, living trusts, power of attorney, business formation paperwork) plus DIY business services (LLC and corporation formation, registered agent service, DBA filings, annual reports, trademark registration), RocketTax tax preparation, and an "Ask a Legal Pro" attorney network for live consultations and document review. The platform is anchored by a membership model — Standard, Plus, and Pro tiers — that bundles unlimited documents, e-signatures, Rocket Copilot AI contract review, and varying numbers of Legal Pro questions and live consultations. Rocket Lawyer also operates a partner developer program with public REST APIs — exposed through an Apigee-backed developer portal at developer.rocketlawyer.com — that lets third parties embed lawyer-vetted document creation, electronic signature, and event-driven workflows into their own products. Four APIs are published with OpenAPI 3.0 specifications and live sandbox + production environments: the Authentication API (OAuth 2.0 access / service / scoped tokens), the RocketDocument v2 API (interview-driven document creation), the RocketSign and Binders API (electronic signature and document bundle management), and the Events API (subscription + pull-based event notifications). Both Embedded UX components and a "build your own UX" path are supported, and partner onboarding is managed through api@rocketlawyer.com and a self-service developer portal.

4 APIs 0 Features
LegalLegal TechnologyLegalTechLegal DocumentsElectronic SignatureeSignatureDocument CreationDocument ManagementBusiness FormationLLC FormationRegistered AgentTrademarkWillsEstate PlanningAttorney NetworkSmall BusinessMembershipEmbedded UXPartner APIApigeeOpenAPI

APIs

Rocket Lawyer Authentication API

OAuth 2.0 authentication mechanism for accessing Rocket Lawyer partner APIs. Issues three token types — Access Tokens (server-to-server, 10-hour TTL), Service Tokens (backend-to...

Rocket Lawyer RocketDocument v2 API

Create and customize lawyer-vetted legal documents on behalf of your customers. Drives a stateful Interview that walks an end-user through the questions for a chosen Template (N...

Rocket Lawyer RocketSign and Binders API

Bundle one or more documents into a Binder and run them through Rocket Lawyer's electronic signature workflow. Manage binder lifecycle (status, locks), parties (signers, viewers...

Rocket Lawyer Events API

Subscribe to and consume notifications about activity within your tenant (interviews started / completed, documents signed, binders finalised, etc.). Provides Subscription Manag...

Collections

Events API

OPEN

Resources

🔗
Website
Website
🌐
Portal
Portal
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📄
ReleaseNotes
ReleaseNotes
🔗
Glossary
Glossary
📝
Signup
Signup
🔗
Login
Login
🔗
Contact
Contact
📜
TermsOfService
TermsOfService
📜
DeveloperTermsOfService
DeveloperTermsOfService
💬
Support
Support
🔗
Postman
Postman
🔗
Postman
Postman
📜
LegalDocuments
LegalDocuments
🔗
BusinessFormation
BusinessFormation
📝
RocketSign
RocketSign
💰
Pricing
Pricing
🔗
About
About
🔗
Press
Press
🔗
Careers
Careers
📰
Blog
Blog
📜
PrivacyPolicy
PrivacyPolicy
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
🔗
Facebook
Facebook
👥
YouTube
YouTube

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: RocketSign & Binders API
  version: v1
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: GET_binders
    type: http
  http:
    method: GET
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders
    params:
    - name: q
      value: ''
      type: query
      description: 'Specify filters in format: ''key:value|key:value''.

        Possible keys: [partyEmail]

        '
    - name: limit
      value: ''
      type: query
      description: 'Specify limit of results

        Limits upper bound is 100.'
    - name: offset
      value: ''
      type: query
      description: 'Specify offset of result

        '
    - name: sort
      value: ''
      type: query
      description: 'Comma-separated list of pairs &lt;field_name&gt; &lt;direction&gt;.<br/>

        Direction can be ascending (ASC) or descending (DESC) and is "ASC" by default therefore can be omitted.<br/>

        Possible field names are: created.

        '
  docs: '<b>Allowed roles:</b> BACKEND<br/>

    List of Binders

    '
- info:
    name: POST_binders
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders
    headers:
    - name: Content-Type
      value: ''
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> BACKEND<br/>\nCreates the new Binder\n<ul>\n  <li>Creates full binder with documents, inputs\
    \ and parties.</li>\n  <li>Note that binder status is still <b>IN_PREPARATION</b> as document(s) need to be uploaded.</li>\n\
    </ul>\n"
- info:
    name: GET_binders-binderId
    type: http
  http:
    method: GET
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId
    headers:
    - name: Accept
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    - name: unsigned
      value: ''
      type: query
      description: 'If present, then unsigned versions of all documents are served as a merged PDF.

        Unsigned is in fact the last uploaded version of the document (just before invitation was triggered).

        '
  docs: '<b>Allowed roles:</b> FRONTEND (all parties), BACKEND<br/>

    Retrieves binder

    '
- info:
    name: PATCH_binders-binderId
    type: http
  http:
    method: PATCH
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

    Updates binder

    <ul>

    <li>A binder can be updated only when it is in the IN_PREPARATION status.</li>

    <li>Updates comply as per RFC-7396</li>

    </ul>

    '
- info:
    name: DELETE_binders-binderId
    type: http
  http:
    method: DELETE
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId
    params:
    - name: binderId
      value: ''
      type: path
  docs: '<b>Allowed roles:</b> BACKEND<br/>

    Deletes binder

    '
- info:
    name: GET_binders-binderId-status
    type: http
  http:
    method: GET
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/status
    headers:
    - name: Accept
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
  docs: '<b>Allowed roles:</b> FRONTEND (all parties), BACKEND<br/>

    Series of validations (preflight check) is performed on binder with status IN_PREPARATION.

    Response clearly indicates if binder is ready to be FINALISED or if some changes are still needed.

    '
- info:
    name: POST_binders-binderId-locks
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/locks
    headers:
    - name: Accept
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> BACKEND <br/>

    Creates of lock preventing certain actions on the binder. In example having a cancellation lock on a binder will prevent
    signing from being cancelled.

    '
- info:
    name: DELETE_binders-binderId-locks-lockId
    type: http
  http:
    method: DELETE
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/locks/:lockId
    headers:
    - name: Accept
      value: ''
    params:
    - name: lockId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
  docs: '<b>Allowed roles:</b> BACKEND <br/>

    Delete a lock from the binder.

    Locks can be deleted only by the client that acquired the lock

    '
- info:
    name: GET_binders-binderId-parties
    type: http
  http:
    method: GET
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/parties
    params:
    - name: binderId
      value: ''
      type: path
    - name: serviceToken
      value: ''
      type: query
      description: Service Token of a party to check the details about
  docs: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

    Get party represented by service token.

    '
- info:
    name: POST_binders-binderId-parties
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/parties
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nAdd a party to a binder\n<ul>\n  <li>Normally a party\
    \ can be added only when the binder is in the `IN_PREPARATION` state.</li>\n  <li>A party with the `VIEWER` role can be\
    \ added even after sign invitation is triggered. If the party is added\n  after sign invitation, an email containing link\
    \ to binder will be send to the recently\n  added viewer.</li>\n</ul>\n"
- info:
    name: PATCH_binders-binderId-parties-partyId
    type: http
  http:
    method: PATCH
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/parties/:partyId
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: partyId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nUpdate party.\n  <ul>\n  <li>A party can be updated only\
    \ when binder is in the `IN_PREPARATION` state.</li>\n  <li>Updates comply with RFC-7396</li>\n  </ul>\n"
- info:
    name: DELETE_binders-binderId-parties-partyId
    type: http
  http:
    method: DELETE
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/parties/:partyId
    params:
    - name: partyId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nDelete a party.\n<ul>\n  <li>Normally a party can only\
    \ be deleted when binder is in the `IN_PREPARATION` state.</li>\n  <li>If the party has the `VIEWER` role, it may be deleted\
    \ even when the binder is in a different state.</li>\n  <li>The owning party cannot be deleted.</li>\n</ul>\n"
- info:
    name: POST_binders-binderId-documents
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

    Adds a document to a binder.

    '
- info:
    name: GET_binders-binderId-documents-documentId
    type: http
  http:
    method: GET
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId
    headers:
    - name: Accept
      value: ''
    params:
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
    - name: unsigned
      value: ''
      type: query
      description: 'If present, then an unsigned version of the document is served.

        Unsigned is in fact the last uploaded version of the document (just before invitation was triggered).

        '
  docs: '<b>Allowed roles:</b> FRONTEND, BACKEND<br/>

    Retrieves a document in the format defined by Accept header.<br/>

    If the file type is not supported, a status code of 412 (Precondition Failed) is returned.

    '
- info:
    name: PUT_binders-binderId-documents-documentId
    type: http
  http:
    method: PUT
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
  docs: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

    Uploads content of document

    '
- info:
    name: PATCH_binders-binderId-documents-documentId
    type: http
  http:
    method: PATCH
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nUpdate document:\n<ul>\n  <li>A document can be updated\
    \ only when the binder containing it is in the `IN_PREPARATION` state.</li>\n  <li>Non-editable parts are: id, originalContentChecksum,\
    \ contentType</li>\n  <li>Updates comply with RFC-7396</li>\n</ul>\n"
- info:
    name: DELETE_binders-binderId-documents-documentId
    type: http
  http:
    method: DELETE
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId
    params:
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nDelete document:\n<ul>\n  <li>A document can be deleted\
    \ only when the binder containing it is in the `IN_PREPARATION` state.</li>\n</ul>\n"
- info:
    name: POST_binders-binderId-documents-documentId-inputs
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId/inputs
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>

    Adds a new input to the given document

    '
- info:
    name: PATCH_binders-binderId-documents-documentId-inputs-inputId
    type: http
  http:
    method: PATCH
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId/inputs/:inputId
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: inputId
      value: ''
      type: path
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nUpdate input.\n<ul>\n   <li>An input can be updated only\
    \ when the binder that contains it is in the `IN_PREPARATION` state.</li>\n   <li>Updates comply with RFC-7396</li>\n\
    \ </ul>\n"
- info:
    name: DELETE_binders-binderId-documents-documentId-inputs-inputId
    type: http
  http:
    method: DELETE
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId/inputs/:inputId
    params:
    - name: inputId
      value: ''
      type: path
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nDelete input.\n<ul>\n  <li>A input can be deleted only\
    \ when the binder that contains it is in the `IN_PREPARATION` status.</li>\n</ul>\n"
- info:
    name: GET_binders-binderId-documents-documentId-pages-pageId
    type: http
  http:
    method: GET
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/documents/:documentId/pages/:pageId
    headers:
    - name: Accept
      value: ''
    params:
    - name: pageId
      value: ''
      type: path
    - name: documentId
      value: ''
      type: path
    - name: binderId
      value: ''
      type: path
    - name: resolution
      value: ''
      type: query
      description: "Resolution of generated PNG in DPIs.<br/><ul><li>Minimum value: 10</li><li>Maximum value: 300</li><li>Default\
        \ value: 150</li></ul>Predefined values:\n<ul>\n  <li><b>thumbnail</b> - 72dpi</li>\n  <li><b>small</b> - 92dpi</li>\n\
        \  <li><b>medium</b> - 150dpi</li>\n  <li><b>large</b> - 300dpi</li>\n</ul>\n"
  docs: '<b>Allowed roles:</b> FRONTEND (all parties), BACKEND<br/>

    Retrieves single page in specified format. Only supported format is PNG for now.

    '
- info:
    name: POST_binders-binderId-requests-finalisations
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/finalisations
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (only document owner), BACKEND<br/>

    Performs pre-flight checks and moves binder into `REVIEW_AND_SHARE` state. Invitations are also sent to `VIEWER`s

    '
- info:
    name: POST_binders-binderId-requests-invitations
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/invitations
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nStarts the signing process by creating invitations\n<ul>\n\
    \  <li>Collect signers as recipients if not provided in request</li>\n  <li>Change binder status changed to SIGN_IN_PROGRESS\
    \ </li>\n  <li>Send invitation emails</li>\n</ul>\nIf <b>recipients</b> list is not provided or is empty all signers (parties\
    \ with SIGNER role) are invited.\n"
- info:
    name: POST_binders-binderId-requests-cancellations
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/cancellations
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: "<b>Allowed roles:</b> FRONTEND (OWNER only), BACKEND<br/>\nStops the signing process by cancelling invitations\n\
    <ul>\n  <li>Capture signers as notification recipients if recipients not specified in request</li>\n  <li>Bring binder\
    \ and documents to state BEFORE invitation</li>\n  <li>Change binder status to `IN_PREPARATION`</li>\n  <li>Send cancellation\
    \ notifications</li>\n</ul>\nIf <b>recipients</b> list is not provided or is empty all signers (parties with SIGNER role)\
    \ are notified.\n"
- info:
    name: POST_binders-binderId-requests-signatures
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/signatures
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (all parties), BACKEND<br/>

    Records signature inputs provided by a signer. All inputs provided should reference same party (related to a single signer).

    '
- info:
    name: POST_binders-binderId-requests-declines
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/declines
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (all parties with SIGNER role), BACKEND<br/>

    Records that the signer declined to sign. The `OWNER` will be notified that this `SIGNER` has declined.

    '
- info:
    name: POST_binders-binderId-requests-reminders
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/reminders
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (only document owner), BACKEND<br/>

    Sends a reminders to sign or view the document to the given signers and/or viewers. It is possible to send the reminder
    only if the binder state is `SIGN_IN_PROGRESS`. Reminder requests will be ignored for signers that have already signed.

    '
- info:
    name: POST_binders-binderId-requests-viewers
    type: http
  http:
    method: POST
    url: https://api-sandbox.rocketlawyer.com/document-manager/v1/binders/:binderId/requests/viewers
    headers:
    - name: Content-Type
      value: ''
    params:
    - name: binderId
      value: ''
      type: path
    body:
      type: json
      data: '{}'
  docs: '<b>Allowed roles:</b> FRONTEND (only document owner), BACKEND<br/>

    Adds a party with the `VIEWER` role to a binder and sends view invitation notifications.

    A `VIEWER` may be added during any binder state except in `IN_PREPARATION`.

    '
bundled: true