Submissions
Business+Manage participant submissions.
Required scopes:
submissions
Access level:
GET
submissions:read
POST / PUT / PATCH / DELETE
submissions:write
About access levels
Feature flag:
submissions
Endpoints
GET
/api/v1/submissions
List all submissions
GET
/api/v1/submissions/{id}
Retrieve a single submission
POST
/api/v1/submissions
Hand in a submission (file requirements as multipart/form-data with the field "file", others as JSON with "value"). Same rules as the exhibitor portal: deadline, allowed file types and size, a new version only after a rejection or revision request (otherwise 409)
PUT/PATCH
/api/v1/submissions/{id}
Update submission status
Query Parameters
| Parameter | Description |
|---|---|
event_key
|
Filter by event key (required) |
status
|
Filter by submission status |
participant_id
|
Filter by participant ID |
type_key
|
Filter by submission type key |
include
|
Include related data (history) |
Request Schema
Create (POST)
| Parameter | Type | Required | Description |
|---|---|---|---|
event_participant_id
|
integer | Yes | ID of the participation (required) |
event_submission_id
|
integer | Yes | ID of the event requirement (required; see GET /submission-types and the event's submissions) |
file
|
file | No | The file (multipart/form-data, required for file requirements; allowed types and size of the requirement) |
value
|
string|boolean | No | Answer for text, URL or yes/no requirements (at most 10,000 characters; URLs without a scheme get https://) |
custom_fields
|
object | No | Values of the submission form's custom fields as an object {field_key: value}; validated like the form |
Update (PATCH)
| Parameter | Type | Required | Description |
|---|---|---|---|
status
|
string | Yes | New status (approved, rejected, or revision_requested) |
review_notes
|
string | No | Review notes for the status change |
notify
|
boolean | No | true: the exhibitor receives an e-mail about the decision (in their language). Default: false |
Response Schema
| Field | Type |
|---|---|
id
|
integer |
event_submission_id
|
integer |
event_participant_id
|
integer |
status
|
string |
submitted_at
|
string|null |
value_text
|
string|null |
value_file
|
string|null |
reviewed_at
|
string|null |
reviewed_by
|
integer|null |
reviewer_name
|
string|null |
review_notes
|
string|null |
revision_count
|
integer |
is_late
|
boolean |
created_at
|
string |
updated_at
|
string |
type_name
|
string|null |
type_key
|
string|null |
Code Examples
curl -X GET "https://your-tenant.plandocket.com/api/v1/submissions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://your-tenant.plandocket.com';
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $baseUrl . '/api/v1/submissions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
const apiKey = 'YOUR_API_KEY';
const baseUrl = 'https://your-tenant.plandocket.com';
const response = await fetch(`${baseUrl}/api/v1/submissions`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
},
});
const data = await response.json();
console.log(data);
import requests
api_key = 'YOUR_API_KEY'
base_url = 'https://your-tenant.plandocket.com'
headers = {
'Authorization': f'Bearer {api_key}',
}
response = requests.get(f'{base_url}/api/v1/submissions', headers=headers)
data = response.json()
print(data)
Sample Response
200 OK
{
"data": [
{
"id": 1,
"event_submission_id": 1,
"event_participant_id": 1,
"status": "string",
"submitted_at": "2026-01-15T10:00:00+01:00",
"value_text": "string",
"value_file": "string",
"reviewed_at": "2026-01-15T10:00:00+01:00",
"reviewed_by": 1,
"reviewer_name": "string",
"review_notes": "string",
"revision_count": 1,
"is_late": true,
"created_at": "2026-01-15T10:00:00+01:00",
"updated_at": "2026-01-15T10:00:00+01:00",
"type_name": "string",
"type_key": "string"
}
],
"meta": {
"current_page": 1,
"per_page": 25,
"total": 1,
"total_pages": 1
}
}