Skip to Content

Create a topic form

Creates a signup form for the visible topic and returns 201.

POST
/v1/topics/{id}/forms

Creates a signup form for the visible topic and returns 201. The server generates its opaque public key. allowedOrigins contains exact HTTPS origins; the canonical web origin and current topic link origin are also accepted. Copy is plain text and redirectUrl is HTTPS or null.

Authorization

apiKey
headerx-api-key<token>

Path Parameters

id*string
Match^tpc_[0-9a-hjkmnp-tv-z]{16,24}$

Request Body

application/json
  1. body
allowedOrigins*array<>
Itemsitems <= 20
confirmationTitle*string
Length1 <= length <= 120
confirmationMessage*string
Length1 <= length <= 2000
successTitle*string
Length1 <= length <= 120
successMessage*string
Length1 <= length <= 2000
redirectUrl*|null

Response Body

TopicForm

application/json
  1. response
id*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$
Formatuuid
publicKey*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$
Formatuuid
topicId*TopicId
Match^tpc_[0-9a-hjkmnp-tv-z]{16,24}$
allowedOrigins*array<>
Itemsitems <= 20
confirmationTitle*string
Length1 <= length <= 120
confirmationMessage*string
Length1 <= length <= 2000
successTitle*string
Length1 <= length <= 120
successMessage*string
Length1 <= length <= 2000
redirectUrl*|null
linkOrigin*string
createdAt*string
updatedAt*string
Example Request
import { createClient } from "samva";

const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });

const result = await samva.topicForms.create({
  "id": "example",
  "allowedOrigins": [
    "example"
  ],
  "confirmationTitle": "example",
  "confirmationMessage": "example",
  "successTitle": "example",
  "successMessage": "example",
  "redirectUrl": "example"
});
Example Response
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "publicKey": "29f62ed2-b67a-44ba-84f5-217ecee94438",
  "topicId": "string",
  "allowedOrigins": [
    "string"
  ],
  "confirmationTitle": "string",
  "confirmationMessage": "string",
  "successTitle": "string",
  "successMessage": "string",
  "redirectUrl": "string",
  "linkOrigin": "string",
  "createdAt": "string",
  "updatedAt": "string"
}

Related documentation