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

# Get Signature

> Retrieve signature information or download the signature file.

Retrieve signature information or download the signature file.

## Path Parameters

<ParamField path="id" type="string" required>
  Signature UUID
</ParamField>

## Headers

<ParamField header="Accept" type="string">
  Response format:

  * `application/json` - Get signature metadata (default)
  * `application/octet-stream` - Download signature file
</ParamField>

## Response Structure (JSON)

When `Accept: application/json` is used:

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:35:00Z",
  "name": "Contract Signature",
  "key": "customer_signature",
  "status": "completed",
  "items": 3,
  "method": "electronic",
  "merge": true,
  "cost": 2.50,
  "locale": "en"
}
```

## Response Fields (JSON)

<ResponseField name="id" type="string">
  Signature UUID
</ResponseField>

<ResponseField name="created_at" type="string">
  Creation timestamp
</ResponseField>

<ResponseField name="updated_at" type="string">
  Last update timestamp
</ResponseField>

<ResponseField name="name" type="string">
  Signature name
</ResponseField>

<ResponseField name="key" type="string">
  Signature identifier key
</ResponseField>

<ResponseField name="status" type="string">
  Signature status (e.g., "pending", "completed", "declined")
</ResponseField>

<ResponseField name="items" type="number">
  Number of items/pages to be signed
</ResponseField>

<ResponseField name="method" type="string">
  Signature method (e.g., "electronic", "qualified")
</ResponseField>

<ResponseField name="merge" type="boolean">
  Whether to merge signatures into a single document
</ResponseField>

<ResponseField name="cost" type="number">
  Signature cost (if applicable)
</ResponseField>

<ResponseField name="locale" type="string">
  Language/locale code
</ResponseField>

## Response (Binary)

When `Accept: application/octet-stream` is used, returns the signature file (typically PDF format).

## Response Codes

| Code  | Description                             |
| ----- | --------------------------------------- |
| `200` | Success - Signature retrieved           |
| `401` | Unauthorized - Invalid access token     |
| `404` | Not Found - Signature doesn't exist     |
| `429` | Too Many Requests - Rate limit exceeded |
| `500` | Server Error - Internal error           |

<Note>
  Signatures are typically generated when a form response includes signature fields. The signature file contains the legally binding signed documents.
</Note>


## OpenAPI

````yaml GET /signatures/{id}
openapi: 3.0.0
info:
  title: Penbox API
  version: '1.0'
  description: >-
    The Penbox API provides programmatic access to Penbox's form management,
    case management, and document processing capabilities. Authenticate using
    Bearer tokens created at https://app.penbox.io/workspace/settings/api
servers:
  - url: https://connect.penbox.io/v1
    description: Production
  - url: https://connect.aiboov.com/v1
    description: Staging
security:
  - BearerAuth: []
paths:
  /signatures/{id}:
    get:
      summary: Get Signature
      description: Retrieve signature information or download the signature file.
      operationId: get-signature
      parameters:
        - name: id
          in: path
          required: true
          description: Signature UUID
          schema:
            type: string
            format: uuid
        - name: Accept
          in: header
          description: >-
            Response format: application/json for metadata or
            application/octet-stream for file download
          schema:
            type: string
            enum:
              - application/json
              - application/octet-stream
            default: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Signature'
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: Signature file (typically PDF)
components:
  schemas:
    Signature:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Signature UUID
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
        updated_at:
          type: string
          format: date-time
          description: Last update timestamp
        name:
          type: string
          description: Signature name
        key:
          type: string
          description: Signature identifier key
        status:
          type: string
          description: Signature status (e.g., pending, completed, declined)
        items:
          type: integer
          description: Number of items/pages to be signed
        method:
          type: string
          description: Signature method (e.g., electronic, qualified)
        merge:
          type: boolean
          description: Whether to merge signatures into a single document
        cost:
          type: number
          description: Signature cost (if applicable)
          nullable: true
        locale:
          type: string
          description: Language/locale code
      required:
        - id
        - name
        - status
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: token
      description: >-
        API token (starts with pnbx_). Create at
        https://app.penbox.io/workspace/settings/api. Include as: Authorization:
        Bearer {token}

````