> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doola.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Complete Formation (sandbox)

> Simulates the State confirming formation: records the filing date, adds a test admin note, and uploads the Articles of Organization. Fires `company_formation_completed` and `document_aoo_uploaded`, and advances the Formation service to Completed. Processing the Articles also generates the entity type's governance document shortly after — Corporate Bylaws for a CCorp (firing `document_corporatebylaws_uploaded`) or the Operating Agreement for an LLC (firing `document_operatingagreement_uploaded`) — as in production. Sandbox only.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/partner/playground/companies/{companyId}/formation/complete
openapi: 3.1.0
info:
  title: doola Partner API
  description: >-
    REST API for doola partners to create and manage customers and companies,
    retrieve formation documents, and look up reference data.


    Authenticate every request with a partner API key in the `Authorization`
    header. Generate keys and manage webhooks and event subscriptions in the
    doola Partner Portal.
  contact:
    name: doola
    url: https://www.doola.com
  version: v1
servers:
  - url: https://api.test.doola.com
    description: Sandbox — use test keys (dk_test_…)
  - url: https://api.doola.com
    description: Production — use live keys (dk_live_…)
security:
  - PartnerApiKey: []
tags:
  - name: Playground (sandbox only)
    description: >-
      Sandbox-only helpers to drive a test company through the Formation and
      EinCreation milestones end to end.
  - name: Customers
    description: Create and look up customers under your partner tenant.
  - name: Documents
    description: List and download a company's formation documents.
  - name: Signatures
    description: Request embedded signing sessions for pending company documents.
  - name: Companies
    description: Create companies for your customers, then track formation status.
  - name: Reference data
    description: >-
      Static lookups for building company-creation requests: NAICS codes,
      states, countries, and state filing fees.
paths:
  /v1/partner/playground/companies/{companyId}/formation/complete:
    post:
      tags:
        - Playground (sandbox only)
      summary: Complete Formation (sandbox)
      description: >-
        Simulates the State confirming formation: records the filing date, adds
        a test admin note, and uploads the Articles of Organization. Fires
        `company_formation_completed` and `document_aoo_uploaded`, and advances
        the Formation service to Completed. Processing the Articles also
        generates the entity type's governance document shortly after —
        Corporate Bylaws for a CCorp (firing
        `document_corporatebylaws_uploaded`) or the Operating Agreement for an
        LLC (firing `document_operatingagreement_uploaded`) — as in production.
        Sandbox only.
      operationId: completeFormation
      parameters:
        - name: companyId
          in: path
          description: doola company ID (KSUID).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            Milestone completed. The listed webhook events fire asynchronously
            through the normal delivery pipeline.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiResponsePlaygroundActionResponseObject'
        '404':
          description: >-
            E_COMPANY_NOT_FOUND: no company with this ID for the authenticated
            partner.
components:
  schemas:
    ApiResponsePlaygroundActionResponseObject:
      type: object
      properties:
        payload:
          $ref: '#/components/schemas/PlaygroundActionResponse'
        error: {}
    PlaygroundActionResponse:
      type: object
      description: >-
        Acknowledges a playground milestone. Webhook delivery is asynchronous:
        triggeredEvents lists the events this call caused to fire, not a
        delivery confirmation.
      properties:
        doolaCompanyId:
          type: string
          description: doola company ID (KSUID).
        service:
          type: string
          description: The company service the milestone advanced.
          enum:
            - Formation
            - EinCreation
          example: Formation
        triggeredEvents:
          type: array
          description: >-
            Webhook events this call triggered. First-issuance-only events
            (company_ein_issued) appear only when they actually fired, so repeat
            calls omit them.
          example:
            - company_formation_completed
            - document_aoo_uploaded
          items:
            type: string
  securitySchemes:
    PartnerApiKey:
      type: apiKey
      description: >-
        Partner API key. Send the raw key as the `Authorization` header value —
        e.g. `dk_test_…` in sandbox or `dk_live_…` in production. Generate and
        rotate keys in the doola Partner Portal.
      name: Authorization
      in: header

````