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

# Create an embedded signature request

> Creates an embedded signature request for a template with one or more signers.
If template fields have assigned roles, `signers` must include a signer for each
of those roles. Requires `signers` (array of email, name, and role, in signing
order). Optional `sender` (email and name); when omitted, sender defaults to the
API key organization owner. Optionally accepts a `fields` array to pre-fill
template fields. Use each signer's `recipientSignatureId` with the create signing
URL endpoint to mint embeddable links.




## OpenAPI

````yaml /api-reference/openapi.json post /signature-requests/embedded
openapi: 3.0.0
info:
  title: Formable API
  version: 1.0.0
  description: External API for redlining and e-signatures.
servers:
  - url: https://api.formabledocs.com/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Templates
    description: Upload documents and generate editor URLs.
  - name: Signature Requests
    description: Send documents for e-signature and retrieve signed results.
  - name: Redlining
    description: Create and manage collaborative redline negotiations.
  - name: Billing
    description: Retrieve usage information.
  - name: Health
    description: Service health checks.
paths:
  /signature-requests/embedded:
    post:
      tags:
        - Signature Requests
      summary: Create an embedded signature request
      description: >
        Creates an embedded signature request for a template with one or more
        signers.

        If template fields have assigned roles, `signers` must include a signer
        for each

        of those roles. Requires `signers` (array of email, name, and role, in
        signing

        order). Optional `sender` (email and name); when omitted, sender
        defaults to the

        API key organization owner. Optionally accepts a `fields` array to
        pre-fill

        template fields. Use each signer's `recipientSignatureId` with the
        create signing

        URL endpoint to mint embeddable links.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - templateId
                - signers
              properties:
                templateId:
                  type: string
                  description: The ID of the template to create a signature request for
                  example: abc123xyz
                signers:
                  type: array
                  minItems: 1
                  description: >-
                    People who will sign, in signing order. Must cover every
                    role assigned to fields on the template.
                  items:
                    type: object
                    required:
                      - email
                      - name
                    properties:
                      email:
                        type: string
                        format: email
                        description: Email address of the signer
                        example: signer@example.com
                      name:
                        type: string
                        description: Name of the signer
                        example: Jane Doe
                      role:
                        type: string
                        description: >-
                          Template signer role assigned to this signer. Required
                          for roles assigned to template fields.
                        example: Client
                sender:
                  type: object
                  description: >-
                    Optional. Who is sending the request. When omitted, defaults
                    to the API key organization owner.
                  required:
                    - email
                    - name
                  properties:
                    email:
                      type: string
                      format: email
                      description: Email address of the sender
                      example: sender@example.com
                    name:
                      type: string
                      description: Name of the sender
                      example: John Smith
                testMode:
                  type: boolean
                  description: >-
                    Optional flag to mark the signature request as a test. Test
                    mode requests are not counted toward billing
                  example: false
                fields:
                  type: array
                  description: Optional array of fields to pre-fill in the template
                  items:
                    type: object
                    required:
                      - fieldId
                      - value
                    properties:
                      fieldId:
                        type: string
                        description: The ID of the field in the template
                        example: field_123
                      value:
                        type: string
                        description: The value to pre-fill in the field
                        example: Sample value
            examples:
              multipleSigners:
                summary: Multiple signers
                value:
                  templateId: abc123xyz
                  signers:
                    - email: jane@example.com
                      name: Jane Doe
                      role: Client
                    - email: bob@example.com
                      name: Bob Smith
                      role: Witness
                  testMode: true
              singleSigner:
                summary: Single signer
                value:
                  templateId: abc123xyz
                  signers:
                    - email: jane@example.com
                      name: Jane Doe
                      role: Client
      responses:
        '200':
          description: Signature request created successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - signatureRequestId
                  - templateId
                  - signers
                  - sender
                  - status
                  - testMode
                  - fields
                properties:
                  signatureRequestId:
                    type: string
                    description: The unique identifier of the created signature request
                    example: abc123xyz
                  templateId:
                    type: string
                    example: tmpl_123
                  signers:
                    type: array
                    items:
                      type: object
                      required:
                        - email
                        - name
                        - recipientSignatureId
                      properties:
                        email:
                          type: string
                          format: email
                        name:
                          type: string
                        recipientSignatureId:
                          type: string
                          description: >-
                            Use this ID to create a signing URL for this
                            recipient
                          example: rsig_abc123
                  sender:
                    type: object
                    properties:
                      email:
                        type: string
                        format: email
                      name:
                        type: string
                  status:
                    type: string
                    enum:
                      - Created
                      - Completed
                      - Expired
                    example: Created
                  testMode:
                    type: boolean
                    example: true
                  fields:
                    type: array
                    description: >-
                      Envelope fields with current values. Signature image data
                      is never returned.
                    items:
                      type: object
                      required:
                        - fieldId
                        - type
                        - required
                        - filled
                        - recipientSignatureId
                        - value
                      properties:
                        fieldId:
                          type: string
                          description: The ID of the field on the template
                          example: field_name
                        type:
                          type: string
                          enum:
                            - text
                            - paragraph
                            - checkbox
                            - date
                            - amount
                            - dropdown
                            - signature
                        required:
                          type: boolean
                        filled:
                          type: boolean
                        label:
                          type: string
                        role:
                          type: string
                        recipientSignatureId:
                          type: string
                          nullable: true
                        value:
                          nullable: true
                          description: Current value. Always null for signature fields.
                        unit:
                          type: string
                        signedAt:
                          type: string
                          format: date-time
        '400':
          description: >-
            Bad request - missing or invalid parameters (e.g. missing
            templateId/signers, template missing required role-assigned fields,
            missing signer for a required role, invalid fieldId)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Missing signer for role "Client" required by template
                      fields
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          description: >-
            Forbidden - client not authorized to create a signature request for
            this template
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Client not authorized to create a signature request for
                      this template
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Template not found for id abc123xyz
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Internal server error
      security:
        - bearerAuth: []
components:
  responses:
    UnauthorizedError:
      description: Unauthorized - missing or invalid bearer token
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Auth token not valid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````