Skip to main content

Sessions

Planning represents a Session in Swapcard Event.

Plannings can be talks, workshops, panels, roundtables, live stream, on-demand video, etc.

Fields Required fields are title, beginsAt, and endsAt. Recommended fields are htmlDescription, and default custom fields (type, location, and topics).

Object

Deprecated fields on Planning

For Planning, we recommend to not use these fields: categories, configuration, place, twitterHashtag, type.

Get the first hundred Plannings(Sessions)

This query can be used to fetch first hundred Plannings(Sessions) from the Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the search for Plannings(Sessions) needs to be done.

Query

query plannings($eventId: String!, $page: Int!) {
plannings(eventId: $eventId, page: $page, pageSize: 100) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
descriptionTranslations {
value
language
}
format
fields {
... on SelectField {
id
definition {
isDefault
name
}
value
}
... on MultipleSelectField {
id
definition {
isDefault
name
}
value
}
}
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"page": 1
}

Get the next hundred Plannings(Sessions)

This query can be used to fetch next hundred Plannings(Sessions) from the Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the search for Plannings(Sessions) needs to be done.

Query

query plannings($eventId: String!, $page: Int!) {
plannings(eventId: $eventId, page: $page, pageSize: 100) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
descriptionTranslations {
value
language
}
format
fields {
... on SelectField {
id
definition {
isDefault
name
}
value
}
... on MultipleSelectField {
id
definition {
isDefault
name
}
value
}
}
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"page": 2
}

Get Plannings(Sessions) by Ids

This query can be used to fetch Plannings(Sessions) by Ids from the Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the search for Plannings(Sessions) needs to be done.
  • ids- the Ids of Plannings(Sessions) that needs to be searched. This is an array and can hold more than one value separated by commas.

Query

query plannings($eventId: String!, $ids: [ID!]) {
plannings(eventId: $eventId, ids: $ids, page: 1, pageSize: 10) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
descriptionTranslations {
value
language
}
format
fields {
... on SelectField {
id
definition {
isDefault
name
}
value
}
... on MultipleSelectField {
id
definition {
isDefault
name
}
value
}
}
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"ids": [
"UGxhbm5pyNDgy",
"UGxdfODY5NDgy"
]
}

Get the Plannings(Sessions) attendees

This query can be used to fetch attendees for a Planning(Session) from the Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the search for Plannings(Sessions) needs to be done.

Query

query planningAttendees($eventId: String!, $planningId: String!, $page: Int!) {
plannings(eventId: $eventId, ids: [$planningId])
withEvent(eventId: $eventId) {
attendees(page: $page, pageSize: 100) {
id
email
firstName
lastName
jobTitle
organization
}
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"planningId": "UGxhbm5pyNDgy",
"page": 1
}

Create Basic Planning(Session)

This mutation can be used to create Planning(Session) in an Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the Plannings(Sessions) needs to be created/updated.
  • hash - Allow to identify which input matches which response during multiple calls.
  • clientId - This is the unique id on the customer end for this specific session.
  • titleTranslations - The value is the name of the Planning(Session) in the provided language.
  • beginsAt - Start date and time for the Planning(Session).
  • endsAt - End date and time for the Planning(Session).

Query

mutation upsertPlannings($eventId: String!, $plannings: [UpsertEventPlanningInput!]!) {
upsertEventPlannings(eventId: $eventId, plannings: $plannings) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"plannings": [
{
"hash": "1",
"title" : "Opening Session",
"titleTranslations": {
"language": "en_US",
"value": "Opening Session"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session d'ouverture"
},
"descriptionTranslations": {
"language": "en_US",
"value": "This is the opening Event for our Swapcard event"
},
"descriptionTranslations": {
"language": "fr_FR",
"value": "Il s'agit de l'événement d'ouverture de notre événement Swapcard"
},
"beginsAt": "2023-11-16 14:00:00",
"endsAt": "2023-11-16 17:00:00"
},
{
"hash": "2",
"clientId": "Planning123456",
"title" : "From Live to Virtual Stories",
"titleTranslations": {
"language": "en_US",
"value": "From Live to Virtual Stories"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Des histoires en direct aux histoires virtuelles"
},
"beginsAt": "2023-11-16 16:00:00",
"endsAt": "2023-11-16 17:00:00"
}
]
}

Update Basic Planning (Session)

This mutation can be used to update Planning(Session) in an Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the Plannings(Sessions) needs to be created/updated.
  • hash - Allow to identify which input matches which response during multiple calls.
  • titleTranslations - The value is the name of the Planning(Session) in the provided language.
  • beginsAt - Start date and time for the Planning(Session).
  • endsAt - End date and time for the Planning(Session).

Query

mutation upsertPlannings($eventId: String!, $plannings: [UpsertEventPlanningInput!]!) {
upsertEventPlannings(eventId: $eventId, plannings: $plannings) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"plannings": [
{
"hash": "1",
"clientId": "Planning12345",
"title" : "Opening Session",
"titleTranslations": {
"language": "en_US",
"value": "Opening Session"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session d'ouverture"
},
"descriptionTranslations": {
"language": "en_US",
"value": "This is the updated opening Event for our Swapcard event"
},
"descriptionTranslations": {
"language": "fr_FR",
"value": "Il s'agit de l'événement d'ouverture mis à jour pour notre événement Swapcard"
},
"beginsAt": "2023-12-16 14:00:00",
"endsAt": "2023-12-16 17:00:00"
}
]
}

Create detailed Planning(Session)

This mutation can be used to create a Planning(Session) with more information and settings in an Event in Swapcard with linked exhibitors, documents, speakers.

Arguments

  • eventId - The Id of the Event on which the Plannings(Sessions) needs to be created/updated.
  • hash - Allow to identify which input matches which response during multiple calls.
  • clientId - This is the unique id on the customer end for this specific session.
  • titleTranslations - The value is the name of the Planning(Session) in the provided language.
  • beginsAt - Start date and time for the Planning(Session).
  • endsAt - End date and time for the Planning(Session).

Query

mutation upsertPlannings($eventId: String!, $plannings: [UpsertEventPlanningInput!]!) {
upsertEventPlannings(eventId: $eventId, plannings: $plannings) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"plannings": [
{
"hash": "1",
"clientId": "Planning12345",
"title" : "Opening Session",
"titleTranslations": {
"language": "en_US",
"value": "Opening Session"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session d'ouverture"
},
"descriptionTranslations": {
"language": "en_US",
"value": "This is the updated and detailed opening Event for our Swapcard event"
},
"descriptionTranslations": {
"language": "fr_FR",
"value": "Ceci est l'événement d'ouverture mis à jour et détaillé pour notre événement Swapcard"
},
"beginsAt": "2023-12-16 14:00:00",
"endsAt": "2023-12-16 17:00:00",
"createFields": [
{ "definitionId": "RmllbGREZWZpbml0aW9uXzQzNzMyOQ==",
"value": "testvalue"
}
],
"canRegister": {
"enabled": true,
"eventGroupsCanRegister": [{
"enabled": true,
"group": {
"id": "RXZlbnRHcm91cF8xNzg4NjQ=",
},
}, {
"enabled": true,
"group": {
"id": "RXZlbnRHcm91cF8xNzg4NjY=",
},
}, {
"enabled": false,
"group": {
"id": "RXZlbnRHcm91cF8xNzg4Njc=",
},
}, {
"enabled": false,
"group": {
"id": "RXZlbnRHcm91cF8xNzg4NjU=",
},
}],
},
"hideAttendees": false,
"isOverlappingAllowed": true,
"isPrivate": false,
"accessControlMode": "TRACKING",
"exhibitorsIds": ["RXhoaWJpdG9yXz", "RXhoaWJsss9yXz"],
"speakersIds": ["RXZlbnRQZW9wbGVfMT","RXZlbnRQcccwbGVfMT" ],
"documentsV2":{"action":"ADD", "ids":["ZHVjdF82ODgwMz" , "HJvZHVjdF82ODgwMzk"]},
}
]
}
These mutations can be used to link an already existing Planning(Session) to another Planning(Session) in an Event in Swapcard.

Query

mutation CreateEventPlanningLink($data: CreatePlanningLinkInput!, $eventId: String!) {
createEventPlanningLink(data: $data, eventId: $eventId) {
eventId
id
parentName {
language
value
}
childName {
language
value
}
}
}

Variables

{
"eventId":"RXZlbnRfNDY1Njc4",
"data": {
"childName": {"language": "en_US", "value": "Bakery World Cup"},
"parentName":{"language": "en_US", "value": "Coupe de France des Ecoles"}
}
}

In the Response from the Content API we get an Id which is the Planning Link Id

Query

mutation LinkPlannings($eventId: String!, $plannings: [UpsertEventPlanningInput!]!) {
upsertEventPlannings(eventId: $eventId, plannings: $plannings){
planningsByPlanningLink {
linkRelation
link {
eventId
id
childName {
language
value
}
parentName {
language
value
}
}
}
}
}

Variables

{
"eventId": "RXZlbnRfNDY1Njc4",
"plannings":
{
"hash": "123456",
"id": "UGxhbm5pbmdfODY2MDk4",
"linkedPlannings":
{
"action": "ADD",
"links":
{
"linkId": "UGxhbm5pbmdMaW5rXzMzODk=",
"planningId": "UGxhbm5pbmdfODY2MTA2"
}
}
}
}

Create Planning(Session) with different formats

This mutation can be used to create a Planning(Session) in an Event in Swapcard with different formats. Formats are mostly used for adding video properties on session.

Arguments

  • eventId - The Id of the Event on which the Plannings(Sessions) need to be created/updated.
  • hash - Allow to identify which input matches which response during multiple calls.
  • clientId - This is the unique id on the customer end for this specific session.
  • titleTranslations - The value is the name of the Planning(Session) in the provided language.
  • beginsAt - Start date and time for the Planning(Session).
  • endsAt - End date and time for the Planning(Session).

Swapcard sessions can have 5 different formats

  • PHYSICAL (with no videos) - Create a simple session without any stream. Adapted to in-person events.
  • LIVE_STREAM - Link a supported Live Streaming provider to play the Webinar in real-time.
  • ON_DEMAND - Link or upload a video that will be available at any moment, session dates will be hidden.
  • PRE_RECORDED - Link your pre-recorded video and it will be played at the scheduled time.
  • ROUNDTABLE - Create a meeting room where your participants will be able to join.

Query

mutation upsertPlannings($eventId: String!, $plannings: [UpsertEventPlanningInput!]!) {
upsertEventPlannings(eventId: $eventId, plannings: $plannings) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
}
}

Variables

{
"eventId": "RXZlbnRfNTUxMDI0",
"plannings": [
{
"hash": "1",
"clientId": "Inperson12345",
"title" : "In-person Opening Session",
"titleTranslations": {
"language": "en_US",
"value": "Opening Session"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session d'ouverture"
},
"beginsAt": "2023-12-16 14:00:00",
"endsAt": "2023-12-16 17:00:00"
},
{
"hash": "2",
"clientId": "Livesession12345",
"title" : "From Virtual to Live ",
"titleTranslations": {
"language": "en_US",
"value": "From Virtual to Live "
},
"titleTranslations": {
"language": "fr_FR",
"value": "Du virtuel au live"
},
"beginsAt": "2023-11-16 16:00:00",
"endsAt": "2023-11-17 17:00:00"
"liveStream": {"stream": {"youtube": {"videoId": "youtube12345"}}, "isPublic": false, "isRecorded": false, "availableAt": "2023-11-17 17:45:00"}
},
{
"hash": "3",
"clientId": "Ondemand1234567",
"title" : "On-demand session",
"titleTranslations": {
"language": "en_US",
"value": "On-demand session"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session à la demande"
},
"beginsAt": "2023-11-16 16:00:00",
"endsAt": "2023-11-21 17:00:00",
"onDemand": {"video": {"uploadedVideo": {"isSimulatedLive": true,"fileKey": "file12345","publicUrl": "www.simulatedlivevideo.com"}}, "isPublic": true, "availableAt": "2023-11-17 17:45:00", "availableUntil":"2023-11-20 17:45:00" }
},
{
"hash": "4",
"clientId": "Prerecorded12345",
"title" : "Prerecorded",
"titleTranslations": {
"language": "en_US",
"value": "Pre-recorded Session"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session pré-enregistrée"
},
"beginsAt": "2023-11-16 16:00:00",
"endsAt": "2023-11-20 18:00:00",
"preRecorded": {"video": {"vimeo": {"videoId": "vimeo12345"}},"isAvailableOnDemand": true, "isPublic":false, "availableAt": "2023-11-16 17:45:00", "availableUntil":"2023-11-20 17:45:00" }
},
{
"hash": "5",
"clientId": "Roundtable12345",
"title" : "Roundtable",
"titleTranslations": {
"language": "en_US",
"value": "Roundtable Discussion"
},
"titleTranslations": {
"language": "fr_FR",
"value": "Session table-rond"
},
"beginsAt": "2023-11-16 16:00:00",
"endsAt": "2023-11-16 17:00:00",
"roundtable": {"audioOnly":false,"maxParticipants": 50,"starts": "2023-11-16 16:00:00", "ends":"2023-11-16 17:30:00" ,"moderatedStage": true, "videoBackgroundImageUrl": "https://testsource.testroundtable.com/user/images/roundtable.png"}
}
]
}

Create redirection on a Planning(Session)

This mutation can be used to create a redirection on a Planning(Session) in an Event in Swapcard.

Arguments

  • name - The name of the button to be displayed on the Planning(Session)
  • planningId - The ID of the Planning(Session) on which the redirection needs ot be created
  • redirectUrl - This is the URL to which the button will redirect the user.

Query

mutation upsertPlanningRedirectUrlView($input: UpsertPlanningRedirectUrlViewInput!){
upsertPlanningRedirectUrlView(input: $input) {
planning {
id
titleTranslations {
value
language
}
beginsAt
endsAt
}
}
}

Variables

{ "input": {
"name":"Redirect Button",
"planningId": "UGxhbm5pbmdfODAxNzYz",
"redirectUrl": "https://www.test.redirect.com/",
"translations": {"language": "en_US", "name": "Redirect Button", "redirectUrl": "https://www.test.redirect.com/"},
"backgroundColor": "#EA204F",
"iconUrl": "https://cdn-api.swapcard.com/public/pictos/link.png"
}
}

Delete Plannings(Sessions)

This mutation can be used to delete Plannings(Sessions) in an Event in Swapcard.

Arguments

  • eventId - The Id of the Event on which the Plannings(Sessions) need to be deleted.
  • planningIds - The Ids of Plannings(Sessions)that needs to be deleted. This is an array and can hold more than one value separated by commas.

Query

mutation deletePlannings($eventId: String!, $planningsIds: [String!]!) {
deleteEventPlannings(eventId: $eventId, planningsIds: $planningsIds) {
id
titleTranslations {
value
language
}
beginsAt
endsAt
}
}

Variables

{
"eventId": "RXZlbnRfMQ==",
"planningsIds": [
"UGxhbm5pbmdfODAxNzUz","UGxhbm5pbmdfODAxNzU0"
]
}