> ## 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 a signing URL

> Generates a signing URL for a signature request. The URL can be embedded in an iframe or shared directly so the signer can complete the document. Signing URLs expire 1 hour after creation.



## OpenAPI

````yaml POST /v0/signature-requests/{signatureRequestId}/url
openapi: 3.0.0
info:
  title: Formable API
  version: 1.0.0
  description: >-
    The Formable API lets you embed e-signature and document redlining workflows
    directly into your product. Create templates, send documents for signature,
    run collaborative redline negotiations, and retrieve completed documents.
servers:
  - url: https://formable-production.up.railway.app/api
    description: Production
  - url: http://localhost:4000/api
    description: Local
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:
  /v0/signature-requests/{signatureRequestId}/url:
    post:
      tags:
        - Signature Requests
      summary: Create a signing URL
      description: >-
        Generates a signing URL for a signature request. The URL can be embedded
        in an iframe or shared directly so the signer can complete the document.
        Signing URLs expire 1 hour after creation.
      operationId: createSigningUrl
      parameters:
        - in: path
          name: signatureRequestId
          required: true
          schema:
            type: string
          description: The ID of the signature request.
          example: abc123xyz
      responses:
        '200':
          description: Signing URL created successfully.
          content:
            application/json:
              schema:
                type: object
                required:
                  - signingUrl
                  - expiresAt
                properties:
                  signingUrl:
                    type: string
                    format: uri
                    description: The generated signing URL for the signature request.
                    example: https://app.formabledocs.com/sign/embedded/xyz789abc
                  expiresAt:
                    type: string
                    format: date-time
                    description: >-
                      ISO 8601 timestamp when the signing URL expires (1 hour
                      from creation).
                    example: '2024-01-16T10:30:00.000Z'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '409':
          description: Conflict - the envelope has already been completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Envelope has already been completed
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  responses:
    BadRequestError:
      description: Bad request - missing or invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: templateId is required
    UnauthorizedError:
      description: Unauthorized - missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Auth token not valid
    ForbiddenError:
      description: Forbidden - the client is not authorized to perform this action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Client not authorized to perform this action
    NotFoundError:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Resource not found for id abc123xyz
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Internal server error
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: A human-readable error message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth 2.0 client credentials access token, passed as a Bearer token in
        the Authorization header.

````