Skip to main content
A user of your product says “open a case for Mrs Dupont”. This guide is what happens next: a real Penbox case appears, owned by the right person, carrying your data and your documents — and your user never leaves your app.

What you’ll have

By the end of this guide:
  • A case created from one of your templates, owned by a member of your client’s team
  • Its contact set to the customer the case is about
  • Structured data written into it
  • A document uploaded and stored on one of its fields
Estimated time: 10 minutes
Finish Onboard a Client first. You need the workspace id and the token it returned.

1

Find the case template

The templates you listed in template_source were copied into the workspace. Read their ids with List Case Templates:
Cache the ids per workspace — they are stable, and you need one every time you open a case.
2

Create the case

Instantiate the template with Create Case:
workspace.id is required for an API token — it is never inferred. The case inherits the template’s fields and statuses.
owner must be a member you registered in guide 1 — someone on your client’s team. contacts are their customers, the people the case is about or the ones asked for documents. Swapping the two is the most common integration mistake: a contact can never own a case, and a member should never be invited as a contact.
3

Push data into the case

Write any field of the case’s schema with Update Case Data:
Penbox keeps the full history of every field: send a new value and the previous one stays retrievable — you never have to version data on your side. Field types and on-the-fly schema additions are covered in the Data Schema reference.
4

Attach a document

Upload the file with Upload Attachment — multipart or base64, up to 10GB:
The response carries the attachment’s id. Store it in one of the case’s file fields by sending an array of attachment ids as the field’s value:
Uploading alone does not put the file on the case — the second call is what does. Like any other field, a file field keeps the full history of everything ever added to it.

You’ve created a case

The workspace now holds a real case:
  • Built from your template, with its fields and its statuses
  • Owned by a member of your client’s team
  • Pointing at the customer it is about
  • Carrying structured data and a document, both with full history
Your user got all of that without ever leaving your product. This is the call you put behind “open a case for this customer”. Next: Drive the case.