Public API v1 • SDK Module

SDK Exhibition

Show published exhibits/booths on a custom site or app — sponsors, partners, and exhibitors.

What it does

Exhibition data is meant to be public-facing. Only exhibits that are marked as published are returned.

Typical uses: “Exhibitors” page, “Sponsors” grid, booth directory, or mobile app booth browser.

Scopes

  • exhibition:read – required
  • exhibition:write – required for submissions + uploads

Module gate: Exhibition must be enabled.

List exhibits

GET/api/public/v1/exhibition/exhibits

Uses limit and offset (default 100, max 500). Results are ordered by published_at newest first.

SDK
ts
const res = await confera.exhibition.listExhibits({ limit: 100, offset: 0 });
console.log(res.data);
cURL
bash
curl "https://your-domain/api/public/v1/exhibition/exhibits?limit=100" \
  -H "X-API-Key: cat_..."

Upload payment proof (optional)

POST/api/public/v1/exhibition/submissions/payment-proof/upload-url

Only needed if the conference requires a proof image/file for exhibition submission fees. Request a signed upload URL, PUT the file, then pass the returned storage:// URI in payment.paymentProofUrl when submitting.

SDK
ts
const upload = await confera.exhibition.createSubmissionPaymentProofUploadUrl({
  filename: "receipt.png",
  contentType: "image/png",
});

// PUT the file bytes to upload.signedUrl
// Then use upload.storageUri in the submission payload.
SDK (convenience helper)
ts
const { storageUri } = await confera.exhibition.uploadSubmissionPaymentProof({
  filename: "receipt.png",
  contentType: "image/png",
  data: fileBytes,
});

// Then pass storageUri as payment.paymentProofUrl

Submit an exhibit

POST/api/public/v1/exhibition/submissions

Submits an exhibit application. Requirements depend on the conference settings (submission window, optional registration requirement, fee rules).

SDK
ts
const res = await confera.exhibition.submitExhibit({
  title: "Acme Health",
  exhibitType: "sponsor",
  shortDescription: "AI triage tools for clinics",
  driveUrl: "https://drive.google.com/...",
  presenter: { fullName: "Aisha Khan", email: "aisha@example.com" },
  teamPeople: ["Omar Ali", "Sara Noor"],
  payment: { paymentMethodId: "<payment_method_id>", paymentReference: "TXN-123" },
});

console.log(res.data); // { id, status, paymentReviewStatus }

Sponsor page patterns

Sponsor grid

Render cards using title, short_description, and cover_image_url.

Booth directory

Use booth_code and location fields to power maps and venue signage.