Skip to main content
GET
/
requests
/
{id}
curl -X GET 'https://connect.penbox.io/v1/requests/550e8400-e29b-41d4-a716-446655440000' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "created_at": "2023-11-07T05:31:56Z",
  "status": "draft",
  "archived": true,
  "archived_at": "2023-11-07T05:31:56Z",
  "processed_at": "2023-11-07T05:31:56Z",
  "active_from": "2023-11-07T05:31:56Z",
  "active_until": "2023-11-07T05:31:56Z",
  "links": {
    "fill": "<string>",
    "app": "<string>"
  },
  "user": {
    "anonymous": true,
    "email": "<string>",
    "phone": "<string>",
    "given_name": "<string>",
    "family_name": "<string>"
  },
  "owner": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "email": "<string>"
  },
  "flow": {
    "slug": "<string>"
  },
  "data": {},
  "external_args": {},
  "options": {},
  "responses": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "completed_at": "2023-11-07T05:31:56Z",
      "declined_at": "2023-11-07T05:31:56Z",
      "data": {},
      "user": {
        "anonymous": true,
        "ip": "<string>",
        "email": "<string>",
        "phone": "<string>",
        "locale": "<string>",
        "given_name": "<string>",
        "family_name": "<string>",
        "user-agent": "<string>",
        "accept-language": "<string>"
      },
      "attachments": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "name": "<string>",
          "type": "<string>",
          "metadata": {
            "size": 123,
            "width": 123,
            "height": 123
          },
          "uri": "<string>"
        }
      ],
      "signatures": {},
      "files": {}
    }
  ],
  "notifications": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "status": "pending",
      "method": "sms",
      "at": "2023-11-07T05:31:56Z",
      "to": "<string>",
      "from": "<string>",
      "cc": "<string>",
      "bcc": "<string>",
      "system": true,
      "locale": "<string>",
      "template": "<string>",
      "variables": {},
      "active": true,
      "error": "<string>",
      "message_id": "<string>",
      "attachments": {},
      "deleted_at": "2023-11-07T05:31:56Z"
    }
  ]
}
Retrieve complete details of a specific form including responses and attachments.
In the API, forms are referred to as requests. This is the technical term used in all endpoints and parameters.
curl -X GET 'https://connect.penbox.io/v1/requests/550e8400-e29b-41d4-a716-446655440000' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Response Structure

The response includes complete form details with all nested data:

Form Fields

  • id: Request UUID
  • created_at: Form creation timestamp
  • status: Current form status (draft, pending, completed, declined, processed)
  • archived: Boolean indicating if archived
  • archived_at: Timestamp when archived (if applicable)
  • processed_at: Timestamp when marked as processed (if applicable)
  • active_from: When the form becomes active (if set)
  • active_until: When the form expires (if set)
  • links.fill: Public form link for the contact
  • links.app: Internal app link to view the request
  • user: Contact information (email, name, phone, anonymous flag)
  • owner: Form owner information (id, email) if applicable
  • flow: Form template info with slug
  • data: Pre-filled form data object
  • external_args: Your custom metadata object
  • options: Form-specific options
  • responses: Array of response objects with attachments and signatures
  • notifications: Array of notification objects

Notification Fields

Each notification object contains:
  • id: Unique identifier for the notification (UUID)
  • status: Current status of the notification (pending, sent, failed, skipped)
  • method: Delivery method (sms or email)
  • at: Timestamp when the notification was sent (ISO 8601 format)
  • to: Recipient address (email address or phone number), can be null
  • from: Sender address (email or system identifier), can be null
  • cc: Carbon copy recipient(s), can be null
  • bcc: Blind carbon copy recipient(s), can be null
  • system: Boolean indicating if this is a system notification
  • locale: Language/locale code (e.g., ‘fr’, ‘en’)
  • template: Template name used for the notification (e.g., ‘raw’, ‘request_completed’)
  • variables: Object containing template variables used in the message, can be null
  • active: Boolean indicating if the notification is active
  • error: Error message if notification failed, can be null
  • message_id: External message identifier from the delivery provider, can be null
  • attachments: Attached files, can be null
  • deleted_at: Timestamp when the notification was deleted, can be null

Response Codes

CodeDescription
200Success - Form details retrieved
401Unauthorized - Invalid access token
403Forbidden - No access to this resource
404Not Found - Form doesn’t exist
429Too Many Requests - Rate limit exceeded
500Server Error - Internal error
The response includes all related data nested within the request object (responses, notifications, etc.), so you don’t need additional API calls to access related resources.

Authorizations

Authorization
string
header
required

OAuth2 access token. Include as: Authorization: Bearer {access_token}

Path Parameters

id
string<uuid>
required

Request UUID

Response

Successful response

id
string<uuid>

Request UUID

created_at
string<date-time>

Creation timestamp

status
enum<string>

Current request status

Available options:
draft,
pending,
completed,
declined,
processed
archived
boolean

Whether the request is archived

archived_at
string<date-time> | null

Timestamp when archived

processed_at
string<date-time> | null

Timestamp when marked as processed

active_from
string<date-time> | null

When the form becomes active

active_until
string<date-time> | null

When the form expires

URLs for accessing the request

user
object

Contact information

owner
object

Request owner information

flow
object

Form template information

data
object

Pre-filled form data

external_args
object

Custom metadata

options
object

Form-specific options

responses
object[]

Array of form responses

notifications
object[]

Array of notifications sent for this request