Capabilities
Every capability in the registry: kind, access, input and refusals.
Every capability in the registry (packages/core/src/registry.ts), generated from the registry itself: 180 in all, 97 commands, 77 queries and 6 jobs; 154 are offered on the JSON API. Each is run through platform().run(name, actor, input, operationId); see the executor for what happens around it.
Each entry shows who may run it, its input as rendered from its zod schema (z.toJSONSchema, input side), and the refusal codes found by reading its definition and the helpers it calls. That list is a static reading of the code: it can include a code from a shared helper that this capability never reaches, and a refusal built some other way may be missing. The messages are the English catalogue's.
Refusals any capability can return
| Code | When | Shown as |
|---|---|---|
operation_id_required | A command or job was run without an operation id of 8 to 128 characters. | Send a new Idempotency-Key header with this action, then try again. |
invalid_input | The input did not match the capability's schema; the message is the first issue zod reported. | Check what you entered and try again. |
unauthenticated | The capability is not public and no one is signed in. | Sign in to continue. |
forbidden | The actor does not hold the permission over the target unit, the target does not exist (answered the same way, so nothing is revealed), or the capability is for platform operators. | You are not allowed to do this. |
operation_conflict | The operation id was already used by a different capability, actor or input. | This Idempotency-Key was already used for a different request. Send a new one with these details. |
operation_already_completed | A command whose result holds a secret was repeated under the same operation id. | This was already done, and its result is not kept. Start again. |
Domains
- Sign-in and sessions6
- Chambers2
- Structure and admins9
- System2
- Applications and membership11
- Members2
- Chamber log and support access2
- Positions5
- Membership lifecycle7
- Points and tiers9
- Operations1
- News sources5
- Member import5
- Visibility3
- Data requests and erasure7
- Brands and addresses6
- Brand logos3
- News analysis1
- Events11
- Profiles3
- Profile photos3
- News digest10
- Push and notice preferences6
- Event registrations6
- Member directory2
- Business matching3
- Digest email3
- Check-in8
- Check-in door copy1
- Event photos11
- Event notices1
- Matching suggestions3
- Introductions5
- Event staff and attendance9
- Asks and offers board6
- Introduction outcomes3
Sign-in and sessions
| Field | Type | Rules |
|---|---|---|
email | string | |
locale | "zh" | | |
host optional | string | at most 300 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
},
"host": {
"type": "string",
"maxLength": 300
}
},
"required": [
"email",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
email | string | |
code | string | pattern ^\d{6}$ |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"email": {
"type": "string"
},
"code": {
"type": "string",
"pattern": "^\\d{6}$"
}
},
"required": [
"email",
"code"
]
}| Field | Type | Rules |
|---|---|---|
token | string | 1 to 256 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"token"
]
}| Field | Type | Rules |
|---|---|---|
token | string | 1 to 256 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"token": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"token"
]
}| Field | Type | Rules |
|---|---|---|
everywhere | boolean |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"everywhere": {
"type": "boolean"
}
},
"required": [
"everywhere"
]
}| Field | Type | Rules |
|---|---|---|
noticeVersion | string | 1 to 32 characters |
locale | "zh" | |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"noticeVersion": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"noticeVersion",
"locale"
]
}Chambers
| Field | Type | Rules |
|---|---|---|
name | string | 1 to 160 characters |
slug | string | pattern ^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])$ |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])$"
}
},
"required": [
"name",
"slug"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Structure and admins
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
name | string | 1 to 160 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"chamberId",
"name"
]
}| Field | Type | Rules |
|---|---|---|
parentUnitId | string | not empty |
name | string | 1 to 160 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"parentUnitId": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"parentUnitId",
"name"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
name | string | 1 to 160 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"unitId",
"name"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
}
},
"required": [
"unitId"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
email | string | |
reason | string | 1 to 500 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string"
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"unitId",
"email",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
grantId | string | not empty |
reason | string | 1 to 500 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"grantId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"grantId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
}
},
"required": [
"unitId"
]
}System
| Field | Type | Rules |
|---|---|---|
limit optional | integer | ≥ 1, ≤ 200, default 100, whole number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 100,
"type": "integer",
"minimum": 1,
"maximum": 200
}
}
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Applications and membership
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
committeeId | string | not empty |
branchId optional | string | not empty |
fullName | string | 1 to 160 characters |
phone | string | 6 to 32 characters |
company | string | 1 to 160 characters |
position | string | 1 to 120 characters |
industry | string | 1 to 120 characters |
referrerEmail optional | string | | |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
already_applied | You already have an application waiting for this committee. |
already_member | You already belong to this committee. |
branch_required | Choose the branch you belong to. |
membership_suspended | This membership is suspended. |
other_branch | You are a member of another branch, so you can only join committees in your own branch or national committees. |
pending_other_branch | You already have an application waiting in another branch. Your first approval decides your branch, so wait for that decision or withdraw it first. |
unknown_committee | That committee no longer exists. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"committeeId": {
"type": "string",
"minLength": 1
},
"branchId": {
"type": "string",
"minLength": 1
},
"fullName": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"phone": {
"type": "string",
"minLength": 6,
"maxLength": 32
},
"company": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"position": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"industry": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"referrerEmail": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"const": ""
}
]
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"committeeId",
"fullName",
"phone",
"company",
"position",
"industry",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
applicationId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
not_open | This application has already been decided. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"applicationId": {
"type": "string",
"minLength": 1
}
},
"required": [
"applicationId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
include optional | "waiting" | | default "waiting" |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"include": {
"default": "waiting",
"type": "string",
"enum": [
"waiting",
"decided"
]
}
},
"required": [
"unitId"
]
}| Field | Type | Rules |
|---|---|---|
applicationId | string | not empty |
note optional | string | at most 500 characters |
| Refusal code | Shown as |
|---|---|
applicant_branch_missing | This application does not say which branch the person belongs to. Decline it and ask them to apply again. |
applicant_in_committee | This person already belongs to this committee, so there is nothing to approve. Decline it with a note. |
applicant_other_branch | This person has since become a member of another branch, so they cannot join this committee. Decline it with a note. |
applicant_suspended | This person's membership is suspended. Reinstate them before approving. |
not_found | That could not be found. |
not_open | This application has already been decided. |
own_application | Another admin must decide your own application. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"applicationId": {
"type": "string",
"minLength": 1
},
"note": {
"type": "string",
"maxLength": 500
}
},
"required": [
"applicationId"
]
}| Field | Type | Rules |
|---|---|---|
applicationId | string | not empty |
note optional | string | at most 500 characters |
| Refusal code | Shown as |
|---|---|
applicant_branch_missing | This application does not say which branch the person belongs to. Decline it and ask them to apply again. |
applicant_in_committee | This person already belongs to this committee, so there is nothing to approve. Decline it with a note. |
applicant_other_branch | This person has since become a member of another branch, so they cannot join this committee. Decline it with a note. |
applicant_suspended | This person's membership is suspended. Reinstate them before approving. |
not_found | That could not be found. |
not_open | This application has already been decided. |
own_application | Another admin must decide your own application. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"applicationId": {
"type": "string",
"minLength": 1
},
"note": {
"type": "string",
"maxLength": 500
}
},
"required": [
"applicationId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
limit optional | integer | ≥ 1, ≤ 200, default 50, whole number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 200
}
}
}| Field | Type | Rules |
|---|---|---|
notificationId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"notificationId": {
"type": "string",
"minLength": 1
}
},
"required": [
"notificationId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Members
| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
include optional | "current" | | default "current" |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"include": {
"default": "current",
"type": "string",
"enum": [
"current",
"former"
]
}
},
"required": [
"unitId"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
}
},
"required": [
"membershipId"
]
}Chamber log and support access
| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
limit optional | integer | ≥ 1, ≤ 200, default 100, whole number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"limit": {
"default": 100,
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"unitId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
chamber_not_found | That chamber does not exist. Reload the list of chambers and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"chamberId",
"reason"
]
}Positions
| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
committeeId | string | not empty |
title | string | 1 to 80 characters |
startsOn | string | pattern ^\d{4}-\d{2}-\d{2}$ |
endsOn optional | string | | pattern ^\d{4}-\d{2}-\d{2}$ |
| Refusal code | Shown as |
|---|---|
end_before_start | The end date must come after the start date. |
holder_not_active | This person's membership is not active, so they cannot be given a position. |
not_a_committee | Positions are held in a committee. Choose a committee, not a branch or the chamber. |
not_in_committee | This person is not an active member of that committee. They need to join it before they can hold a position there. |
own_membership | Another admin must make changes to your own membership. |
position_overlaps | This member already holds that title in this committee for part of that time. End the earlier term first, or start the new one after it ends. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"committeeId": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"startsOn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"endsOn": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "string",
"const": ""
}
]
}
},
"required": [
"membershipId",
"committeeId",
"title",
"startsOn"
]
}| Field | Type | Rules |
|---|---|---|
positionId | string | not empty |
reason | string | 1 to 500 characters |
endsOn optional | string | | pattern ^\d{4}-\d{2}-\d{2}$ |
| Refusal code | Shown as |
|---|---|
end_date_invalid | The end date must fall between the start date and today. |
not_found | That could not be found. |
own_membership | Another admin must make changes to your own membership. |
position_ended | This position has already ended. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"positionId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"endsOn": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "string",
"const": ""
}
]
}
},
"required": [
"positionId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
committeeId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_a_committee | Positions are held in a committee. Choose a committee, not a branch or the chamber. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"committeeId": {
"type": "string",
"minLength": 1
}
},
"required": [
"committeeId"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
}
},
"required": [
"membershipId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Membership lifecycle
| Field | Type | Rules |
|---|---|---|
committeeId | string | not empty |
| Refusal code | Shown as |
|---|---|
last_committee | Every member belongs to at least one committee, so this one cannot be left. Resign from the chamber, or as an admin end the membership, instead. |
not_found | That could not be found. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"committeeId": {
"type": "string",
"minLength": 1
}
},
"required": [
"committeeId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
reason optional | string | at most 500 characters |
| Refusal code | Shown as |
|---|---|
last_committee | Every member belongs to at least one committee, so this one cannot be left. Resign from the chamber, or as an admin end the membership, instead. |
not_found | That could not be found. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"maxLength": 500
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
committeeId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
higher_admin | This member is an admin at your level or above. Only an admin above them can change their membership or committee places, or their admin right can be removed first. |
last_committee | Every member belongs to at least one committee, so this one cannot be left. Resign from the chamber, or as an admin end the membership, instead. |
not_found | That could not be found. |
own_membership | Another admin must make changes to your own membership. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"committeeId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"membershipId",
"committeeId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
higher_admin | This member is an admin at your level or above. Only an admin above them can change their membership or committee places, or their admin right can be removed first. |
membership_ended | This membership has already ended. A new membership needs a new application. |
membership_not_active | This membership is not active, so it cannot be suspended. |
not_found | That could not be found. |
not_suspended | This membership is not suspended, so there is nothing to reinstate. |
own_membership | Another admin must make changes to your own membership. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"membershipId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
higher_admin | This member is an admin at your level or above. Only an admin above them can change their membership or committee places, or their admin right can be removed first. |
membership_ended | This membership has already ended. A new membership needs a new application. |
membership_not_active | This membership is not active, so it cannot be suspended. |
not_found | That could not be found. |
not_suspended | This membership is not suspended, so there is nothing to reinstate. |
own_membership | Another admin must make changes to your own membership. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"membershipId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
higher_admin | This member is an admin at your level or above. Only an admin above them can change their membership or committee places, or their admin right can be removed first. |
membership_ended | This membership has already ended. A new membership needs a new application. |
membership_not_active | This membership is not active, so it cannot be suspended. |
not_found | That could not be found. |
not_suspended | This membership is not suspended, so there is nothing to reinstate. |
own_membership | Another admin must make changes to your own membership. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"membershipId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
| Refusal code | Shown as |
|---|---|
membership_ended | This membership has already ended. A new membership needs a new application. |
membership_not_active | This membership is not active, so it cannot be suspended. |
not_suspended | This membership is not suspended, so there is nothing to reinstate. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
}
},
"required": [
"membershipId"
]
}Points and tiers
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
tiers | object[] | at least 1 items, at most 12 items |
tiers[].id optional | string | not empty |
tiers[].nameZh | string | 1 to 60 characters |
tiers[].nameEn | string | 1 to 60 characters |
tiers[].threshold | integer | ≥ 0, ≤ 1000000, whole number |
| Refusal code | Shown as |
|---|---|
lowest_tier_not_zero | The lowest tier must start at 0 points. |
thresholds_not_increasing | Each tier must need more points than the one below it. |
tier_held | Members hold a tier you took off the ladder. Move them to another tier first. |
try_again | Something changed at the same moment. Please try again. |
unknown_tier | That tier is no longer on the ladder. Reload the page and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"tiers": {
"minItems": 1,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"nameZh": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"nameEn": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"threshold": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"nameZh",
"nameEn",
"threshold"
]
}
}
},
"required": [
"chamberId",
"tiers"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
tierId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
below_earned_tier | Their points earn a higher tier. Correct their points first if the tier should be lower. |
member_not_active | Points can only be given to an active member. |
own_membership | Another admin must make changes to your own membership. |
same_tier | The member already holds that tier. |
try_again | Something changed at the same moment. Please try again. |
unknown_tier | That tier is no longer on the ladder. Reload the page and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"tierId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"membershipId",
"tierId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
attendance | integer | ≥ 0, ≤ 100000, whole number |
organising | integer | ≥ 0, ≤ 100000, whole number |
referral | integer | ≥ 0, ≤ 100000, whole number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"attendance": {
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"organising": {
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"referral": {
"type": "integer",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"chamberId",
"attendance",
"organising",
"referral"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
source | "manual" | | |
amount | integer | ≥ 1, ≤ 100000, whole number |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
below_earned_tier | Their points earn a higher tier. Correct their points first if the tier should be lower. |
member_not_active | Points can only be given to an active member. |
own_membership | Another admin must make changes to your own membership. |
same_tier | The member already holds that tier. |
try_again | Something changed at the same moment. Please try again. |
unknown_tier | That tier is no longer on the ladder. Reload the page and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
},
"source": {
"type": "string",
"enum": [
"manual",
"contribution"
]
},
"amount": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"membershipId",
"source",
"amount",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
entryId | string | not empty |
amount | integer | ≥ -100000, ≤ 100000, whole number |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
below_earned_tier | Their points earn a higher tier. Correct their points first if the tier should be lower. |
member_not_active | Points can only be given to an active member. |
own_membership | Another admin must make changes to your own membership. |
points_below_zero | A member's total cannot fall below zero. Use a smaller correction. |
same_tier | The member already holds that tier. |
try_again | Something changed at the same moment. Please try again. |
unknown_tier | That tier is no longer on the ladder. Reload the page and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"entryId": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "integer",
"minimum": -100000,
"maximum": 100000
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"entryId",
"amount",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
membershipId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"membershipId": {
"type": "string",
"minLength": 1
}
},
"required": [
"membershipId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Operations
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}News sources
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
name | string | 1 to 120 characters |
feedUrl | string | at most 2000 characters |
kind | "rss" | | |
language | "zh" | | |
terms | "headline_link" | | |
permissionNote | string | 10 to 2000 characters |
active optional | boolean | default true |
minIntervalMinutes optional | integer | ≥ 15, ≤ 1440, default 30, whole number |
| Refusal code | Shown as |
|---|---|
feed_taken | Another source already uses this feed address. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"feedUrl": {
"type": "string",
"maxLength": 2000
},
"kind": {
"type": "string",
"enum": [
"rss",
"atom",
"json_api"
]
},
"language": {
"type": "string",
"enum": [
"zh",
"en",
"ms"
]
},
"terms": {
"type": "string",
"enum": [
"headline_link",
"summary_allowed"
]
},
"permissionNote": {
"type": "string",
"minLength": 10,
"maxLength": 2000
},
"active": {
"default": true,
"type": "boolean"
},
"minIntervalMinutes": {
"default": 30,
"type": "integer",
"minimum": 15,
"maximum": 1440
}
},
"required": [
"name",
"feedUrl",
"kind",
"language",
"terms",
"permissionNote"
]
}| Field | Type | Rules |
|---|---|---|
sourceId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
name | string | 1 to 120 characters |
feedUrl | string | at most 2000 characters |
kind | "rss" | | |
language | "zh" | | |
terms | "headline_link" | | |
permissionNote | string | 10 to 2000 characters |
active | boolean | |
minIntervalMinutes | integer | ≥ 15, ≤ 1440, whole number |
| Refusal code | Shown as |
|---|---|
feed_taken | Another source already uses this feed address. |
not_found | That could not be found. |
source_changed | Someone changed this source after you opened it. Reload the page and make your change again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sourceId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"feedUrl": {
"type": "string",
"maxLength": 2000
},
"kind": {
"type": "string",
"enum": [
"rss",
"atom",
"json_api"
]
},
"language": {
"type": "string",
"enum": [
"zh",
"en",
"ms"
]
},
"terms": {
"type": "string",
"enum": [
"headline_link",
"summary_allowed"
]
},
"permissionNote": {
"type": "string",
"minLength": 10,
"maxLength": 2000
},
"active": {
"type": "boolean"
},
"minIntervalMinutes": {
"type": "integer",
"minimum": 15,
"maximum": 1440
}
},
"required": [
"sourceId",
"version",
"name",
"feedUrl",
"kind",
"language",
"terms",
"permissionNote",
"active",
"minIntervalMinutes"
]
}| Field | Type | Rules |
|---|---|---|
limit optional | integer | ≥ 1, ≤ 200, default 30, whole number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 30,
"type": "integer",
"minimum": 1,
"maximum": 200
}
}
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Member import
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
committeeId | string | not empty |
branchId optional | string | |
csv | string | 1 to 1000000 characters |
mapping optional | object | |
mapping.email optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.fullName optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.phone optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.company optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.position optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.industry optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.committee optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.positionTitle optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.positionStart optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.tier optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.language optional | integer | | ≥ 0, ≤ 199, whole number |
| Refusal code | Shown as |
|---|---|
import_branch_required | Choose the branch these members belong to. |
import_column_unknown | That column is not in the file. Check the file again. |
import_column_used_twice | Each column can hold only one detail. Choose a different column for one of them. |
import_committee_other_branch | That committee belongs to another branch. Choose its own branch, or another committee. |
import_empty | The file has no rows under its heading row. Check that the first row holds the headings. |
import_not_committee | Choose a committee to import into. |
import_too_large | The file has more than 2,000 rows. Split it into smaller files and import each. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"committeeId": {
"type": "string",
"minLength": 1
},
"branchId": {
"type": "string"
},
"csv": {
"type": "string",
"minLength": 1,
"maxLength": 1000000
},
"mapping": {
"type": "object",
"properties": {
"email": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"fullName": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"company": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"position": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"industry": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"committee": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"positionTitle": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"positionStart": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"tier": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
}
}
}
},
"required": [
"committeeId",
"csv"
]
}| Field | Type | Rules |
|---|---|---|
importId | string | not empty |
mapping | object | |
mapping.email optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.fullName optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.phone optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.company optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.position optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.industry optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.committee optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.positionTitle optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.positionStart optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.tier optional | integer | | ≥ 0, ≤ 199, whole number |
mapping.language optional | integer | | ≥ 0, ≤ 199, whole number |
| Refusal code | Shown as |
|---|---|
import_column_unknown | That column is not in the file. Check the file again. |
import_column_used_twice | Each column can hold only one detail. Choose a different column for one of them. |
import_expired | This check has expired. Upload the file again. |
import_started | Some rows are already imported, so the columns can no longer change. |
not_found | That could not be found. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"importId": {
"type": "string",
"minLength": 1
},
"mapping": {
"type": "object",
"properties": {
"email": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"fullName": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"company": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"position": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"industry": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"committee": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"positionTitle": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"positionStart": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"tier": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 199
},
{
"type": "null"
}
]
}
}
}
},
"required": [
"importId",
"mapping"
]
}| Field | Type | Rules |
|---|---|---|
importId | string | not empty |
| Refusal code | Shown as |
|---|---|
import_expired | This check has expired. Upload the file again. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"importId": {
"type": "string",
"minLength": 1
}
},
"required": [
"importId"
]
}| Field | Type | Rules |
|---|---|---|
importId | string | not empty |
host optional | string | at most 260 characters |
| Refusal code | Shown as |
|---|---|
import_expired | This check has expired. Upload the file again. |
import_finished | Every row of this file has been imported or skipped. |
not_found | That could not be found. |
try_again | Something changed at the same moment. Please try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"importId": {
"type": "string",
"minLength": 1
},
"host": {
"type": "string",
"maxLength": 260
}
},
"required": [
"importId"
]
}Visibility
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
items | object[] | at least 7 items, at most 7 items |
items[].item | "member_directory" | | |
items[].public | boolean | |
items[].friend | boolean | |
items[].officeHolder | boolean | |
items[].tiers | record of boolean |
| Refusal code | Shown as |
|---|---|
visibility_changed | The table or the tiers changed since you opened this page. Reload it and make your changes again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"items": {
"minItems": 7,
"maxItems": 7,
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"enum": [
"member_directory",
"member_card",
"committee_exco",
"past_events",
"event_gallery",
"news_digest",
"matching"
]
},
"public": {
"type": "boolean"
},
"friend": {
"type": "boolean"
},
"officeHolder": {
"type": "boolean"
},
"tiers": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1
},
"additionalProperties": {
"type": "boolean"
}
}
},
"required": [
"item",
"public",
"friend",
"officeHolder",
"tiers"
]
}
}
},
"required": [
"chamberId",
"version",
"items"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}Data requests and erasure
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
kind | "chamber" | |
chamberId | string | not empty |
| Field | Type | Rules |
|---|---|---|
kind | "account" |
| Refusal code | Shown as |
|---|---|
data_already_deleted | This chamber has already deleted the data it held about you. There is nothing more to ask it to delete. |
not_found | That could not be found. |
request_open | You already have a request waiting for this. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "chamber"
},
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"kind",
"chamberId"
]
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "account"
}
},
"required": [
"kind"
]
}
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
requestId | string | not empty |
note optional | string | at most 500 characters |
| Refusal code | Shown as |
|---|---|
holds_admin_role | This person is still an admin. Remove them as admin first, then complete the request. |
membership_open | This person still belongs to a chamber. Each chamber must complete its request, or they must resign, first. |
not_found | That could not be found. |
own_request | Another admin must decide a request about your own data. |
request_decided | This request was already completed or refused. Refresh the page. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"requestId": {
"type": "string",
"minLength": 1
},
"note": {
"type": "string",
"maxLength": 500
}
},
"required": [
"requestId"
]
}| Field | Type | Rules |
|---|---|---|
requestId | string | not empty |
note | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
own_request | Another admin must decide a request about your own data. |
request_decided | This request was already completed or refused. Refresh the page. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"requestId": {
"type": "string",
"minLength": 1
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"requestId",
"note"
]
}Brands and addresses
| Field | Type | Rules |
|---|---|---|
host | string | at most 300 characters |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"host": {
"type": "string",
"maxLength": 300
}
},
"required": [
"host"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
nameZh | string | 1 to 80 characters |
nameEn | string | 1 to 80 characters |
mark | string | |
colour | string | at most 20 characters |
| Refusal code | Shown as |
|---|---|
brand_changed | Someone saved the brand since you opened it. The form now shows their save; make your change again. |
brand_colour_invalid | Enter the colour as six hexadecimal digits, such as #1F4E79. |
brand_colour_low_contrast | White text on this colour is too hard to read: it needs a contrast of at least 4.5:1. Choose a darker colour. |
brand_mark_invalid | The mark is exactly one character. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"nameZh": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"nameEn": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"mark": {
"type": "string"
},
"colour": {
"type": "string",
"maxLength": 20
}
},
"required": [
"chamberId",
"version",
"nameZh",
"nameEn",
"mark",
"colour"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
host | string | at most 300 characters |
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
host_taken | This address already shows another chamber. Remove it there first. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"host": {
"type": "string",
"maxLength": 300
},
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"host",
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
host | string | at most 300 characters |
| Refusal code | Shown as |
|---|---|
host_not_found | This address is not mapped to a chamber. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"host": {
"type": "string",
"maxLength": 300
}
},
"required": [
"host"
]
}Brand logos
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
image | any | |
digest | string | pattern ^[0-9a-f]{64}$ |
| Refusal code | Shown as |
|---|---|
brand_logo_changed | Someone changed the logo while this one was uploading. Reload the page to see it, then try again. |
brand_logo_too_large | The logo is larger than 1 MB. Save it smaller, or as WebP, and upload it again. |
brand_logo_type_unsupported | Choose a PNG, JPEG or WebP file. SVG, GIF and other formats are not accepted. |
brand_logo_unavailable | Logos cannot be uploaded here yet. |
brand_logo_unreadable | This file could not be read as an image. Export the logo again and upload that file. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"image": {},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"chamberId",
"image",
"digest"
],
"additionalProperties": false
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
brand_logo_changed | Someone changed the logo while this one was uploading. Reload the page to see it, then try again. |
brand_logo_none | The chamber has no logo to remove. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
mediaId optional | string | 1 to 100 characters |
chamberId optional | string | 1 to 100 characters |
height | number |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mediaId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"chamberId": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"height": {
"type": "number"
}
},
"required": [
"height"
],
"additionalProperties": false
}News analysis
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Events
| Field | Type | Rules |
|---|---|---|
ownerUnitId | string | not empty |
reach | "committee" | | |
titleZh optional | string | at most 160 characters, default "" |
titleEn optional | string | at most 160 characters, default "" |
descriptionZh optional | string | at most 5000 characters, default "" |
descriptionEn optional | string | at most 5000 characters, default "" |
venue | string | 1 to 300 characters |
startsAt | string | format date-time |
endsAt | string | format date-time |
capacity | integer | ≥ 1, ≤ 100000, whole number |
guestAllowance | integer | ≥ 0, ≤ 10, whole number |
| Refusal code | Shown as |
|---|---|
event_cancelled | This event was cancelled and can no longer be changed. |
event_changed | The event changed since you opened it. Reload the page and make your change again. |
event_completed_final | This event is completed, so it can no longer be changed or cancelled. |
event_ends_before_start | The event must end after it starts. Check the times. |
event_reach_invalid | A branch or chamber event is offered to its whole branch or the whole chamber. Choose the organiser's own level or wider. |
event_starts_in_past | This event's start has already passed. Choose a later start time. |
event_title_required | Give the event a title in Chinese or English. |
reach_above_owner | An event cannot be offered wider than its organiser's level. Choose a narrower reach. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"ownerUnitId": {
"type": "string",
"minLength": 1
},
"reach": {
"type": "string",
"enum": [
"committee",
"branch",
"chamber"
]
},
"titleZh": {
"default": "",
"type": "string",
"maxLength": 160
},
"titleEn": {
"default": "",
"type": "string",
"maxLength": 160
},
"descriptionZh": {
"default": "",
"type": "string",
"maxLength": 5000
},
"descriptionEn": {
"default": "",
"type": "string",
"maxLength": 5000
},
"venue": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"startsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"endsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"capacity": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"guestAllowance": {
"type": "integer",
"minimum": 0,
"maximum": 10
}
},
"required": [
"ownerUnitId",
"reach",
"venue",
"startsAt",
"endsAt",
"capacity",
"guestAllowance"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
reach | "committee" | | |
titleZh optional | string | at most 160 characters, default "" |
titleEn optional | string | at most 160 characters, default "" |
descriptionZh optional | string | at most 5000 characters, default "" |
descriptionEn optional | string | at most 5000 characters, default "" |
venue | string | 1 to 300 characters |
startsAt | string | format date-time |
endsAt | string | format date-time |
capacity | integer | ≥ 1, ≤ 100000, whole number |
guestAllowance | integer | ≥ 0, ≤ 10, whole number |
| Refusal code | Shown as |
|---|---|
event_cancelled | This event was cancelled and can no longer be changed. |
event_capacity_below_taken | More places are already taken or offered than that. Choose at least as many places as are taken. |
event_changed | The event changed since you opened it. Reload the page and make your change again. |
event_completed_final | This event is completed, so it can no longer be changed or cancelled. |
event_ends_before_start | The event must end after it starts. Check the times. |
event_public_wave_needs_chamber | Only an event offered to the whole chamber can open to the public. Remove the public wave first. |
event_reach_invalid | A branch or chamber event is offered to its whole branch or the whole chamber. Choose the organiser's own level or wider. |
event_starts_in_past | This event's start has already passed. Choose a later start time. |
event_title_required | Give the event a title in Chinese or English. |
event_wave_after_start | Every wave must open before the event starts. Move the wave earlier, or the event later. |
not_found | That could not be found. |
reach_above_owner | An event cannot be offered wider than its organiser's level. Choose a narrower reach. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"reach": {
"type": "string",
"enum": [
"committee",
"branch",
"chamber"
]
},
"titleZh": {
"default": "",
"type": "string",
"maxLength": 160
},
"titleEn": {
"default": "",
"type": "string",
"maxLength": 160
},
"descriptionZh": {
"default": "",
"type": "string",
"maxLength": 5000
},
"descriptionEn": {
"default": "",
"type": "string",
"maxLength": 5000
},
"venue": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"startsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"endsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"capacity": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"guestAllowance": {
"type": "integer",
"minimum": 0,
"maximum": 10
}
},
"required": [
"eventId",
"version",
"reach",
"venue",
"startsAt",
"endsAt",
"capacity",
"guestAllowance"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
| Refusal code | Shown as |
|---|---|
event_cancelled | This event was cancelled and can no longer be changed. |
event_changed | The event changed since you opened it. Reload the page and make your change again. |
event_completed_final | This event is completed, so it can no longer be changed or cancelled. |
event_not_draft | This event is already published. |
event_starts_in_past | This event's start has already passed. Choose a later start time. |
not_found | That could not be found. |
reach_above_owner | An event cannot be offered wider than its organiser's level. Choose a narrower reach. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"eventId",
"version"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
event_cancelled | This event was cancelled and can no longer be changed. |
event_changed | The event changed since you opened it. Reload the page and make your change again. |
event_completed_final | This event is completed, so it can no longer be changed or cancelled. |
not_found | That could not be found. |
reach_above_owner | An event cannot be offered wider than its organiser's level. Choose a narrower reach. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"eventId",
"version",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
waves | object[] | at least 1 items, at most 20 items |
waves[].audience | "exco" | | |
waves[].tierId optional | string | not empty |
waves[].opensAt | string | format date-time |
| Refusal code | Shown as |
|---|---|
event_cancelled | This event was cancelled and can no longer be changed. |
event_changed | The event changed since you opened it. Reload the page and make your change again. |
event_completed_final | This event is completed, so it can no longer be changed or cancelled. |
event_exco_wave_needs_committee | Only a committee's event has an Exco wave. |
event_public_wave_needs_chamber | Only an event offered to the whole chamber can open to the public. Remove the public wave first. |
event_unknown_tier | That tier is no longer on the chamber's ladder. Reload the page and try again. |
event_wave_after_start | Every wave must open before the event starts. Move the wave earlier, or the event later. |
event_wave_repeated | Each audience can have only one wave. |
event_waves_out_of_order | Each wave must open no earlier than the one before it. |
not_found | That could not be found. |
reach_above_owner | An event cannot be offered wider than its organiser's level. Choose a narrower reach. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"waves": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"audience": {
"type": "string",
"enum": [
"exco",
"tier",
"friend",
"public"
]
},
"tierId": {
"type": "string",
"minLength": 1
},
"opensAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"audience",
"opensAt"
]
}
}
},
"required": [
"eventId",
"version",
"waves"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
gapHours | integer | ≥ 1, ≤ 720, whole number |
includeExco | boolean | |
includeTiers | boolean | |
includeFriends | boolean | |
includePublic | boolean |
| Refusal code | Shown as |
|---|---|
event_pattern_changed | The default waves changed since you opened them. Reload the page and try again. |
event_pattern_no_members | The default waves must include the tiers or Friends, so every event has a wave. Tick one of them and save again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"gapHours": {
"type": "integer",
"minimum": 1,
"maximum": 720
},
"includeExco": {
"type": "boolean"
},
"includeTiers": {
"type": "boolean"
},
"includeFriends": {
"type": "boolean"
},
"includePublic": {
"type": "boolean"
}
},
"required": [
"chamberId",
"version",
"gapHours",
"includeExco",
"includeTiers",
"includeFriends",
"includePublic"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId optional | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
}
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}Profiles
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
names optional | object | |
names.nameZh optional | string | at most 100 characters, pattern ^[^\p{Cc}]*$ |
names.nameEn optional | string | at most 100 characters, pattern ^[^\p{Cc}]*$ |
companies optional | object[] | at most 5 items |
companies[].name optional | string | at most 120 characters, pattern ^[^\p{Cc}]*$ |
companies[].industry optional | "A" | | |
companies[].position optional | string | at most 100 characters, pattern ^[^\p{Cc}]*$ |
companies[].website optional | string | at most 200 characters, pattern ^[^\p{Cc}]*$ |
companies[].description optional | string | at most 1000 characters, pattern ^[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]*$ |
companies[].size optional | "s1_4" | | |
companies[].foundedYear optional | integer | | ≥ -9007199254740991, ≤ 9007199254740991, whole number |
offers optional | object | |
offers.offers optional | string | at most 1000 characters, pattern ^[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]*$ |
offers.needs optional | string | at most 1000 characters, pattern ^[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]*$ |
offers.offerIndustries optional | "A" | | at most 21 items |
offers.needIndustries optional | "A" | | at most 21 items |
contacts optional | object | |
contacts.phone optional | string | at most 40 characters, pattern ^[^\p{Cc}]*$ |
contacts.email optional | string | at most 200 characters, pattern ^[^\p{Cc}]*$ |
contacts.whatsapp optional | string | at most 60 characters, pattern ^[^\p{Cc}]*$ |
contacts.wechat optional | string | at most 60 characters, pattern ^[^\p{Cc}]*$ |
about optional | object | |
about.bio optional | string | at most 1000 characters, pattern ^[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]*$ |
about.social optional | string[] | at most 5 items |
about.languages optional | "zh" | | at most 8 items |
visibility optional | record of "members" | |
| Refusal code | Shown as |
|---|---|
profile_changed | Your profile changed since you opened it, perhaps on another device. Reload the page and make your change again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"names": {
"type": "object",
"properties": {
"nameZh": {
"type": "string",
"maxLength": 100,
"pattern": "^[^\\p{Cc}]*$"
},
"nameEn": {
"type": "string",
"maxLength": 100,
"pattern": "^[^\\p{Cc}]*$"
}
}
},
"companies": {
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"pattern": "^[^\\p{Cc}]*$"
},
"industry": {
"anyOf": [
{
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
},
{
"type": "string",
"const": ""
}
]
},
"position": {
"type": "string",
"maxLength": 100,
"pattern": "^[^\\p{Cc}]*$"
},
"website": {
"type": "string",
"maxLength": 200,
"pattern": "^[^\\p{Cc}]*$"
},
"description": {
"type": "string",
"maxLength": 1000,
"pattern": "^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$"
},
"size": {
"anyOf": [
{
"type": "string",
"enum": [
"s1_4",
"s5_29",
"s30_74",
"s75_200",
"s201_plus"
]
},
{
"type": "string",
"const": ""
}
]
},
"foundedYear": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
}
}
},
"offers": {
"type": "object",
"properties": {
"offers": {
"type": "string",
"maxLength": 1000,
"pattern": "^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$"
},
"needs": {
"type": "string",
"maxLength": 1000,
"pattern": "^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$"
},
"offerIndustries": {
"maxItems": 21,
"type": "array",
"items": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
}
},
"needIndustries": {
"maxItems": 21,
"type": "array",
"items": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
}
}
}
},
"contacts": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"maxLength": 40,
"pattern": "^[^\\p{Cc}]*$"
},
"email": {
"type": "string",
"maxLength": 200,
"pattern": "^[^\\p{Cc}]*$"
},
"whatsapp": {
"type": "string",
"maxLength": 60,
"pattern": "^[^\\p{Cc}]*$"
},
"wechat": {
"type": "string",
"maxLength": 60,
"pattern": "^[^\\p{Cc}]*$"
}
}
},
"about": {
"type": "object",
"properties": {
"bio": {
"type": "string",
"maxLength": 1000,
"pattern": "^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$"
},
"social": {
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"pattern": "^[^\\p{Cc}]*$"
}
},
"languages": {
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"enum": [
"zh",
"en",
"ms",
"ta",
"yue",
"nan",
"hak",
"teo"
]
}
}
}
},
"visibility": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"industry",
"position",
"website",
"description",
"size",
"founded",
"offers",
"needs",
"phone",
"email",
"whatsapp",
"wechat",
"bio",
"social",
"languages",
"photo"
]
},
"additionalProperties": {
"type": "string",
"enum": [
"members",
"hidden"
]
}
}
},
"required": [
"version"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
userId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId",
"userId"
]
}Profile photos
| Field | Type | Rules |
|---|---|---|
image | any | |
digest | string | pattern ^[0-9a-f]{64}$ |
| Refusal code | Shown as |
|---|---|
photo_changed | Your photo changed while this one was uploading, perhaps on another device. Reload the page and try again. |
photo_profile_required | Save your business card before adding a photo. |
photo_too_large | The photo is larger than 5 MB. Choose a smaller one, or crop it here first. |
photo_type_unsupported | Choose a JPEG, PNG or WebP photo. |
photo_unavailable | Photos cannot be uploaded here yet. |
photo_unreadable | This file could not be read as a photo. Try another one. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"image": {},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"image",
"digest"
],
"additionalProperties": false
}| Refusal code | Shown as |
|---|---|
photo_none | You have no photo to remove. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
userId | string | not empty |
size | number | |
chamberId optional | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"userId": {
"type": "string",
"minLength": 1
},
"size": {
"type": "number"
},
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"userId",
"size"
]
}News digest
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
unitId optional | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"unitId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
version | integer | ≥ 0, ≤ 9007199254740991, whole number |
topics | "economy" | | at least 1 items, at most 18 items |
sourceIds | string[] | at most 200 items |
readyTime | string | pattern ^([01]\d|2[0-3]):[0-5]\d$ |
variesBy | "chamber" | |
| Refusal code | Shown as |
|---|---|
digest_settings_changed | Someone changed the digest settings since you opened them. Reload the page and try again. |
digest_source_unknown | Choose sources from the allowed list only. Reload the page to see the current list. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"topics": {
"minItems": 1,
"maxItems": 18,
"type": "array",
"items": {
"type": "string",
"enum": [
"economy",
"finance_markets",
"trade_investment",
"policy_regulation",
"technology",
"property",
"smes_entrepreneurship",
"events_community",
"other"
]
}
},
"sourceIds": {
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"readyTime": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"variesBy": {
"type": "string",
"enum": [
"chamber",
"branch",
"committee"
]
}
},
"required": [
"chamberId",
"version",
"topics",
"sourceIds",
"readyTime",
"variesBy"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
itemId | string | not empty |
| Refusal code | Shown as |
|---|---|
digest_changed | The digest changed while you were editing it. Reload the page and try again. |
digest_item_unknown | That story is no longer available for the digest. |
digest_unit_not_variant | This unit has no digest of its own. Edit the chamber's digest, or change the settings to vary it by this unit. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"itemId": {
"type": "string",
"minLength": 1
}
},
"required": [
"unitId",
"itemId"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
itemId | string | not empty |
| Refusal code | Shown as |
|---|---|
digest_changed | The digest changed while you were editing it. Reload the page and try again. |
digest_item_unknown | That story is no longer available for the digest. |
digest_unit_not_variant | This unit has no digest of its own. Edit the chamber's digest, or change the settings to vary it by this unit. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"itemId": {
"type": "string",
"minLength": 1
}
},
"required": [
"unitId",
"itemId"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
itemId | string | not empty |
| Refusal code | Shown as |
|---|---|
digest_changed | The digest changed while you were editing it. Reload the page and try again. |
digest_not_edited | That story is neither pinned nor hidden here. |
digest_unit_not_variant | This unit has no digest of its own. Edit the chamber's digest, or change the settings to vary it by this unit. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"itemId": {
"type": "string",
"minLength": 1
}
},
"required": [
"unitId",
"itemId"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
headline | string | 1 to 200 characters |
summaryZh optional | string | at most 600 characters |
summaryEn optional | string | at most 1200 characters |
link optional | string | at most 2000 characters |
| Refusal code | Shown as |
|---|---|
digest_changed | The digest changed while you were editing it. Reload the page and try again. |
digest_link_invalid | Enter the link as a full address starting with https://, or leave it empty. |
digest_summary_required | Write a summary in Chinese, in English, or in both. |
digest_unit_not_variant | This unit has no digest of its own. Edit the chamber's digest, or change the settings to vary it by this unit. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"headline": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"summaryZh": {
"type": "string",
"maxLength": 600
},
"summaryEn": {
"type": "string",
"maxLength": 1200
},
"link": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"unitId",
"headline"
]
}| Field | Type | Rules |
|---|---|---|
unitId | string | not empty |
headline | string | 1 to 200 characters |
summaryZh optional | string | at most 600 characters |
summaryEn optional | string | at most 1200 characters |
link optional | string | at most 2000 characters |
| Refusal code | Shown as |
|---|---|
digest_changed | The digest changed while you were editing it. Reload the page and try again. |
digest_link_invalid | Enter the link as a full address starting with https://, or leave it empty. |
digest_summary_required | Write a summary in Chinese, in English, or in both. |
digest_unit_not_variant | This unit has no digest of its own. Edit the chamber's digest, or change the settings to vary it by this unit. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"unitId": {
"type": "string",
"minLength": 1
},
"headline": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"summaryZh": {
"type": "string",
"maxLength": 600
},
"summaryEn": {
"type": "string",
"maxLength": 1200
},
"link": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"unitId",
"headline"
]
}| Field | Type | Rules |
|---|---|---|
addedId | string | not empty |
| Refusal code | Shown as |
|---|---|
digest_added_gone | That item is no longer in today's digest. |
digest_changed | The digest changed while you were editing it. Reload the page and try again. |
digest_unit_not_variant | This unit has no digest of its own. Edit the chamber's digest, or change the settings to vary it by this unit. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"addedId": {
"type": "string",
"minLength": 1
}
},
"required": [
"addedId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
unitId optional | string | not empty |
date optional | string | pattern ^\d{4}-\d{2}-\d{2}$ |
| Refusal code | Shown as |
|---|---|
digest_not_visible | The news digest is not shown to you in this chamber. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"unitId": {
"type": "string",
"minLength": 1
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"chamberId"
]
}Push and notice preferences
| Field | Type | Rules |
|---|---|---|
endpoint | string | at most 2048 characters |
keys | object | |
keys.p256dh | string | exactly 87 characters, pattern ^[A-Za-z0-9_-]+$ |
keys.auth | string | exactly 22 characters, pattern ^[A-Za-z0-9_-]+$ |
locale | "zh" | | |
label | string | 1 to 80 characters |
| Refusal code | Shown as |
|---|---|
push_device_limit | Notifications can be on for at most 10 devices. Remove one in your notification settings first. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"endpoint": {
"type": "string",
"maxLength": 2048
},
"keys": {
"type": "object",
"properties": {
"p256dh": {
"type": "string",
"minLength": 87,
"maxLength": 87,
"pattern": "^[A-Za-z0-9_-]+$"
},
"auth": {
"type": "string",
"minLength": 22,
"maxLength": 22,
"pattern": "^[A-Za-z0-9_-]+$"
}
},
"required": [
"p256dh",
"auth"
]
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"endpoint",
"keys",
"locale",
"label"
]
}| Field | Type | Rules |
|---|---|---|
endpoint | string | at most 2048 characters |
locale | "zh" | |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"endpoint": {
"type": "string",
"maxLength": 2048
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"endpoint",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
subscriptionId | string | 1 to 128 characters |
| Field | Type | Rules |
|---|---|---|
endpoint | string | at most 2048 characters |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"anyOf": [
{
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"subscriptionId"
]
},
{
"type": "object",
"properties": {
"endpoint": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"endpoint"
]
}
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
choices | object[] | at least 1 items, at most 39 items |
choices[].topic | "applicationDecided" | | |
choices[].channel | "push" | | |
choices[].enabled | boolean |
| Refusal code | Shown as |
|---|---|
notice_channel_unavailable | This kind of notice is not sent by email, so there is nothing to turn off. |
notice_email_required | Email about a decision on you cannot be turned off. You will always be told by email. |
notice_inbox_required | This kind of notice always appears in your inbox, so it cannot be turned off there. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"choices": {
"minItems": 1,
"maxItems": 39,
"type": "array",
"items": {
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"applicationDecided",
"applicationReceived",
"tierRaised",
"membershipChanged",
"dataRequestDecided",
"eventOpened",
"eventRegistration",
"waitlistOffered",
"eventChanged",
"eventReminder",
"introduction",
"eventRoles",
"board"
]
},
"channel": {
"type": "string",
"enum": [
"push",
"email",
"inbox"
]
},
"enabled": {
"type": "boolean"
}
},
"required": [
"topic",
"channel",
"enabled"
]
}
}
},
"required": [
"choices"
]
}Event registrations
| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
guests optional | string[] | at most 10 items, default [] |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
registration_closed | This event has started, so registration has closed. |
registration_event_cancelled | This event was cancelled, so there is nothing to register for. |
registration_exists | You are already registered for this event, or on its waitlist. |
registration_not_offered | This event is not offered to you. |
registration_not_yet_open | Registration has not opened to you yet. Come back at the time shown. |
registration_place_taken | Someone took the last place at the same moment. Try again to join the waitlist. |
registration_too_many_guests | You named more guests than this event allows. Remove one and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"guests": {
"default": [],
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"eventId",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
registrationId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
registration_changed | Something changed at the same moment. Reload the page and try again. |
registration_closed | This event has started, so registration has closed. |
registration_ended | This registration has already ended. Reload the page to see where you stand. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"registrationId": {
"type": "string",
"minLength": 1
}
},
"required": [
"registrationId"
]
}| Field | Type | Rules |
|---|---|---|
registrationId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
registration_closed | This event has started, so registration has closed. |
registration_ended | This registration has already ended. Reload the page to see where you stand. |
registration_not_offered | This event is not offered to you. |
registration_offer_expired | The place held for you has expired and gone to the next person waiting. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"registrationId": {
"type": "string",
"minLength": 1
}
},
"required": [
"registrationId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}Member directory
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
locale | "zh" | | |
q optional | string | at most 100 characters |
qIndustries optional | "A" | | at most 21 items |
branchId optional | string | not empty |
committeeId optional | string | not empty |
industry optional | "A" | | |
industryIn optional | "company" | | |
after optional | string | at most 500 characters |
| Refusal code | Shown as |
|---|---|
directory_membership_suspended | Your membership is suspended, so the directory is closed to you until it is reinstated. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
},
"q": {
"type": "string",
"maxLength": 100
},
"qIndustries": {
"maxItems": 21,
"type": "array",
"items": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
}
},
"branchId": {
"type": "string",
"minLength": 1
},
"committeeId": {
"type": "string",
"minLength": 1
},
"industry": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
},
"industryIn": {
"type": "string",
"enum": [
"company",
"offers",
"needs"
]
},
"after": {
"type": "string",
"maxLength": 500
}
},
"required": [
"chamberId",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
userId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId",
"userId"
]
}Business matching
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
noticeVersion | string | 1 to 40 characters |
| Refusal code | Shown as |
|---|---|
matching_already_on | Matching is already on for you in this chamber. |
matching_members_only | Only active members of this chamber can turn on matching. |
matching_not_offered | This chamber does not offer matching to you at present. |
matching_notice_outdated | The explanation of matching has changed. Please read it again before turning matching on. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"noticeVersion": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"chamberId",
"noticeVersion"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
matching_not_opted_in | Matching is not on for you in this chamber. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}Digest email
| Field | Type | Rules |
|---|---|---|
chamberId | string | 1 to 128 characters |
| Refusal code | Shown as |
|---|---|
digest_email_hidden | This chamber does not show its news digest to you, so it cannot be emailed to you. |
digest_email_members_only | Only members of this chamber can have its news digest emailed. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | 1 to 128 characters |
frequency | "off" | | |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
digest_email_hidden | This chamber does not show its news digest to you, so it cannot be emailed to you. |
digest_email_members_only | Only members of this chamber can have its news digest emailed. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"frequency": {
"type": "string",
"enum": [
"off",
"daily",
"weekly"
]
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"chamberId",
"frequency",
"locale"
]
}JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Check-in
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
check_in_no_card | You have no membership of this chamber, so there is no card to show. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
token | string | 1 to 600 characters |
key | string | pattern ^[A-Za-z0-9_-]{16,64}$ |
at optional | string | format date-time |
| Refusal code | Shown as |
|---|---|
check_in_card_expired | This card's code has run out. Ask the member to open their card again. |
check_in_card_invalid | This is not a member card of this app. Ask the member to open their card again. |
check_in_card_other_chamber | This card is for another chamber. |
check_in_membership_ended | This card's membership has ended. |
check_in_not_registered | Not registered for this event. Check them in as a walk-in if there is space. |
check_in_own | Another member of staff must check you in, or scan the venue code yourself. |
check_in_time_invalid | This phone's clock is wrong, or the check-in waited over two days to be sent. |
member_not_active | Points can only be given to an active member. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"token": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"key": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{16,64}$"
},
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"eventId",
"token",
"key"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
registrationId | string | not empty |
key | string | pattern ^[A-Za-z0-9_-]{16,64}$ |
at optional | string | format date-time |
| Refusal code | Shown as |
|---|---|
check_in_not_registered | Not registered for this event. Check them in as a walk-in if there is space. |
check_in_own | Another member of staff must check you in, or scan the venue code yourself. |
check_in_time_invalid | This phone's clock is wrong, or the check-in waited over two days to be sent. |
member_not_active | Points can only be given to an active member. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"registrationId": {
"type": "string",
"minLength": 1
},
"key": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{16,64}$"
},
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"eventId",
"registrationId",
"key"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
token | string | 1 to 600 characters |
key | string | pattern ^[A-Za-z0-9_-]{16,64}$ |
at optional | string | format date-time |
| Refusal code | Shown as |
|---|---|
check_in_already_registered | They are already registered. Scan their card or tick their name instead. |
check_in_card_expired | This card's code has run out. Ask the member to open their card again. |
check_in_card_invalid | This is not a member card of this app. Ask the member to open their card again. |
check_in_card_other_chamber | This card is for another chamber. |
check_in_event_cancelled | This event was cancelled. |
check_in_full | The event is full, so no walk-in can be checked in. |
check_in_membership_ended | This card's membership has ended. |
check_in_own | Another member of staff must check you in, or scan the venue code yourself. |
check_in_time_invalid | This phone's clock is wrong, or the check-in waited over two days to be sent. |
check_in_walk_in_not_active | Only an active member can be checked in as a walk-in. |
member_not_active | Points can only be given to an active member. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"token": {
"type": "string",
"minLength": 1,
"maxLength": 600
},
"key": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{16,64}$"
},
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"eventId",
"token",
"key"
]
}| Field | Type | Rules |
|---|---|---|
code | string | 1 to 300 characters |
key | string | pattern ^[A-Za-z0-9_-]{16,64}$ |
at optional | string | format date-time |
| Refusal code | Shown as |
|---|---|
check_in_closed | Check-in for this event has closed. |
check_in_code_expired | That venue code has changed. Scan the code on the screen again. |
check_in_code_invalid | That is not a venue code of this app. |
check_in_event_cancelled | This event was cancelled. |
check_in_key_used | This check-in clashed with another. Try again. |
check_in_not_open | Check-in opens three hours before the event starts. |
check_in_self_not_registered | You are not registered for this event. Ask the staff at the door. |
check_in_time_invalid | This phone's clock is wrong, or the check-in waited over two days to be sent. |
member_not_active | Points can only be given to an active member. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"key": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{16,64}$"
},
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"code",
"key"
]
}| Field | Type | Rules |
|---|---|---|
checkInId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
check_in_already_undone | This check-in was already undone. |
check_in_closed | Check-in for this event has closed. |
check_in_own | Another member of staff must check you in, or scan the venue code yourself. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"checkInId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"checkInId",
"reason"
]
}Check-in door copy
| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}Event photos
| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
image | any | |
digest | string | pattern ^[0-9a-f]{64}$ |
| Refusal code | Shown as |
|---|---|
event_photo_event_closed | This event is not taking photos. |
event_photo_limit_reached | You already have 20 photos waiting for this event. Wait for an admin to review them. |
event_photo_not_started | Photos can be added once the event has started. |
event_photo_too_large | The photo is larger than 5 MB. Choose a smaller one. |
event_photo_type_unsupported | Choose a JPEG, PNG or WebP photo. |
event_photo_unavailable | Photos cannot be uploaded here yet. |
event_photo_unreadable | This file could not be read as a photo. Try another one. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"image": {},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"eventId",
"image",
"digest"
],
"additionalProperties": false
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
version | integer | ≥ 1, ≤ 9007199254740991, whole number |
| Refusal code | Shown as |
|---|---|
event_photo_changed | This photo changed since you opened the page. Reload it and try again. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"photoId",
"version"
]
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
version | integer | ≥ 1, ≤ 9007199254740991, whole number |
| Refusal code | Shown as |
|---|---|
event_photo_changed | This photo changed since you opened the page. Reload it and try again. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"photoId",
"version"
]
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
version | integer | ≥ 1, ≤ 9007199254740991, whole number |
| Refusal code | Shown as |
|---|---|
event_photo_changed | This photo changed since you opened the page. Reload it and try again. |
event_photo_not_approved | Only an approved photo can be added to the showcase. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"photoId",
"version"
]
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
version | integer | ≥ 1, ≤ 9007199254740991, whole number |
| Refusal code | Shown as |
|---|---|
event_photo_changed | This photo changed since you opened the page. Reload it and try again. |
event_photo_not_approved | Only an approved photo can be added to the showcase. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"photoId",
"version"
]
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
version | integer | ≥ 1, ≤ 9007199254740991, whole number |
captionZh | string | at most 300 characters |
captionEn | string | at most 300 characters |
| Refusal code | Shown as |
|---|---|
event_photo_caption_locked | An admin has already decided on this photo, so only an admin can change its caption. |
event_photo_changed | This photo changed since you opened the page. Reload it and try again. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"captionZh": {
"type": "string",
"maxLength": 300
},
"captionEn": {
"type": "string",
"maxLength": 300
}
},
"required": [
"photoId",
"version",
"captionZh",
"captionEn"
]
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
| Refusal code | Shown as |
|---|---|
event_photo_changed | This photo changed since you opened the page. Reload it and try again. |
event_photo_not_removable | This photo is approved and part of the event's record. Ask an admin to delete it. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
}
},
"required": [
"photoId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
width | number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"width": {
"type": "number"
}
},
"required": [
"photoId",
"width"
]
}| Field | Type | Rules |
|---|---|---|
chamberId optional | string | not empty |
eventId optional | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"eventId": {
"type": "string",
"minLength": 1
}
}
}| Field | Type | Rules |
|---|---|---|
photoId | string | not empty |
width | number |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"photoId": {
"type": "string",
"minLength": 1
},
"width": {
"type": "number"
}
},
"required": [
"photoId",
"width"
]
}Event notices
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {}
}Matching suggestions
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
suggestions_made_recently | Suggestions were made for you less than an hour ago. Please try again later. |
suggestions_need_matching | Turn on business matching in this chamber to get suggestions. |
suggestions_not_offered | This chamber does not offer matching to you at present. |
suggestions_not_running | Suggestions are not running here yet. Please try again later. |
suggestions_still_showing | You still have suggestions to look at. Dismiss them first to ask for new ones. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
suggestionId | string | not empty |
| Refusal code | Shown as |
|---|---|
suggestion_not_found | That suggestion could not be found. It may have been dismissed already. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"suggestionId": {
"type": "string",
"minLength": 1
}
},
"required": [
"suggestionId"
]
}Introductions
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
userId | string | not empty |
note | string | at most 500 characters |
source | "suggestion" | | |
sourceRef optional | string | 1 to 100 characters |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
board_post_unavailable | This post is no longer on the board, so it cannot be answered. |
introduction_already | You have already been introduced to this member. |
introduction_declined_recently | This member declined your last request. You can ask again 90 days after that. |
introduction_no_profile | Introductions are between members who have both saved their business card. Fill in yours from your profile. |
introduction_not_opted_in | Introductions are for active members of this chamber who have both turned on business matching. |
introduction_note_required | Write a short note saying why you would like to meet. |
introduction_open | A request for this introduction is already waiting for an answer. |
introduction_self | You cannot ask to be introduced to yourself. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
},
"note": {
"type": "string",
"maxLength": 500
},
"source": {
"type": "string",
"enum": [
"suggestion",
"directory",
"board"
]
},
"sourceRef": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"chamberId",
"userId",
"note",
"source",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
introductionId | string | not empty |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
introduction_answered | This request has already been answered or closed. |
introduction_expired | This request has expired, so it can no longer be answered. |
introduction_no_profile | Introductions are between members who have both saved their business card. Fill in yours from your profile. |
introduction_not_opted_in | Introductions are for active members of this chamber who have both turned on business matching. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"introductionId": {
"type": "string",
"minLength": 1
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"introductionId",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
introductionId | string | not empty |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
introduction_answered | This request has already been answered or closed. |
introduction_expired | This request has expired, so it can no longer be answered. |
introduction_no_profile | Introductions are between members who have both saved their business card. Fill in yours from your profile. |
introduction_not_opted_in | Introductions are for active members of this chamber who have both turned on business matching. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"introductionId": {
"type": "string",
"minLength": 1
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"introductionId",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
userId | string | not empty |
| Refusal code | Shown as |
|---|---|
introduction_open | A request for this introduction is already waiting for an answer. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId",
"userId"
]
}Event staff and attendance
| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
userId | string | not empty |
| Refusal code | Shown as |
|---|---|
event_staff_already | They are already event staff for this event. |
event_staff_event_closed | Staff can be named only while the event is published and not yet completed. |
event_staff_not_member | Only an active member of the chamber can be event staff. |
event_staff_out_of_reach | Only a member offered this event, registered for it or within your reach can be named event staff. |
event_staff_own | You cannot name yourself as event staff. As an admin over this event, you can already use its door. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId",
"userId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
userId | string | not empty |
| Refusal code | Shown as |
|---|---|
event_staff_not_named | They are not event staff for this event. Reload the page to see who is. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId",
"userId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId optional | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
}
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
event_already_completed | This event is already completed. |
event_completion_cancelled | A cancelled or unpublished event is not completed. |
event_not_ended | The event has not ended yet. Mark it completed after it ends. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
userId | string | not empty |
role | "helper" | | |
note optional | string | at most 300 characters |
| Refusal code | Shown as |
|---|---|
member_not_active | Points can only be given to an active member. |
not_found | That could not be found. |
organising_already_awarded | They were already awarded organising points for this event. Each person is awarded once per event. |
organising_not_member | Organising points go only to an active member of the chamber. |
organising_not_started | Organising points can be awarded once the event has started. |
organising_out_of_reach | Organising points go only to a member offered this event, registered for it or within your reach. |
organising_own | Another admin must award or remove your own organising points. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
},
"role": {
"type": "string",
"enum": [
"helper",
"speaker",
"volunteer"
]
},
"note": {
"type": "string",
"maxLength": 300
}
},
"required": [
"eventId",
"userId",
"role"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
userId | string | not empty |
reason | string | 1 to 500 characters |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
organising_already_removed | This award was already removed. |
organising_not_awarded | No organising points were awarded to them for this event. |
organising_own | Another admin must award or remove your own organising points. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"userId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"eventId",
"userId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
eventId | string | not empty |
| Refusal code | Shown as |
|---|---|
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
}
},
"required": [
"eventId"
]
}Asks and offers board
| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
kind | "ask" | | |
title | string | 1 to 120 characters, pattern ^[^\p{Cc}]*$ |
details | string | 1 to 2000 characters, pattern ^[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]*$ |
industry optional | "A" | | |
days optional | integer | ≥ 1, ≤ 90, whole number |
locale | "zh" | |
| Refusal code | Shown as |
|---|---|
board_industry_not_on_profile | Choose one of the industries on your profile, or none. |
board_not_opted_in | Posting on the board is for active members of this chamber who have turned on business matching. |
board_post_limit | You can have at most 5 posts on the board at once. Close one first. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"kind": {
"type": "string",
"enum": [
"ask",
"offer"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"pattern": "^[^\\p{Cc}]*$"
},
"details": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"pattern": "^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$"
},
"industry": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 90
},
"locale": {
"type": "string",
"enum": [
"zh",
"en"
]
}
},
"required": [
"chamberId",
"kind",
"title",
"details",
"locale"
]
}| Field | Type | Rules |
|---|---|---|
postId | string | not empty |
| Refusal code | Shown as |
|---|---|
board_post_changed | This post is no longer open. Reload the board to see it as it is now. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"postId": {
"type": "string",
"minLength": 1
}
},
"required": [
"postId"
]
}| Field | Type | Rules |
|---|---|---|
postId | string | not empty |
reason | string | 1 to 500 characters, pattern ^[^\x00-\x08\x0B\x0C\x0E-\x1F\x7F]*$ |
| Refusal code | Shown as |
|---|---|
board_post_changed | This post is no longer open. Reload the board to see it as it is now. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"postId": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"pattern": "^[^\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]*$"
}
},
"required": [
"postId",
"reason"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
kind optional | "ask" | | |
industry optional | "A" | | |
q optional | string | at most 100 characters |
after optional | string | at most 300 characters |
| Refusal code | Shown as |
|---|---|
board_industry_not_on_profile | Choose one of the industries on your profile, or none. |
board_not_visible | This chamber does not show the board to you. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
},
"kind": {
"type": "string",
"enum": [
"ask",
"offer"
]
},
"industry": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U"
]
},
"q": {
"type": "string",
"maxLength": 100
},
"after": {
"type": "string",
"maxLength": 300
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
| Refusal code | Shown as |
|---|---|
board_industry_not_on_profile | Choose one of the industries on your profile, or none. |
board_not_opted_in | Posting on the board is for active members of this chamber who have turned on business matching. |
board_post_limit | You can have at most 5 posts on the board at once. Close one first. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}Introduction outcomes
| Field | Type | Rules |
|---|---|---|
introductionId | string | not empty |
answer | "none" | | |
version | integer | ≥ 1, ≤ 9007199254740991, whole number |
| Refusal code | Shown as |
|---|---|
introduction_outcome_changed | Your answer changed since you opened the page. Look again and choose once more. |
introduction_outcome_locked | Answers can be changed for 60 days after you were asked. This one is now locked. |
introduction_outcome_not_asked | You can say how an introduction went once you are asked, 30 days after it was accepted. |
not_found | That could not be found. |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"introductionId": {
"type": "string",
"minLength": 1
},
"answer": {
"type": "string",
"enum": [
"none",
"talks",
"deal"
]
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"introductionId",
"answer",
"version"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}| Field | Type | Rules |
|---|---|---|
chamberId | string | not empty |
JSON Schema of the input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chamberId": {
"type": "string",
"minLength": 1
}
},
"required": [
"chamberId"
]
}