Cvent Social Tables Diagrams API

The Diagrams API from Cvent Social Tables — 6 operation(s) for diagrams.

OpenAPI Specification

cvent-social-tables-diagrams-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Social Tables API Gateway Authentication Diagrams API
  version: 4.0.0
  description: The Social Tables API
host: api.socialtables.com
basePath: /
tags:
- name: Diagrams
paths:
  /4.0/diagrams:
    get:
      tags:
      - Diagrams
      summary: get multiple diagrams
      produces:
      - application/json
      parameters:
      - name: ids
        in: query
        type: string
        required: false
      - name: event
        in: query
        type: string
        required: false
      - name: space
        in: query
        type: integer
        required: false
      - name: guestlist
        in: query
        type: string
        required: false
      - name: legacy_event
        in: query
        type: integer
        required: false
      - name: fields
        in: query
        type: string
        required: false
      - name: external_diagram_id
        in: query
        type: string
        required: false
      - name: external_event_id
        in: query
        type: string
        required: false
      - name: limit
        in: query
        type: integer
        required: false
      - name: offset
        in: query
        type: integer
        required: false
      responses:
        '200':
          description: returns an array of diagrams
          schema:
            type: array
            items:
              $ref: '#/definitions/diagrams__diagram-response-diagram-service'
        '400':
          description: validation error must specify either event, space, or guestlist
  /4.0/diagrams/{id}:
    get:
      tags:
      - Diagrams
      summary: get a diagram by ID
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        type: string
        required: true
      - name: fields
        in: query
        type: string
        required: false
      responses:
        '200':
          description: returns a diagram
          schema:
            $ref: '#/definitions/diagrams__diagram-response-diagram-service'
        '401':
          description: unauthorized
        '404':
          description: Diagram not found
    delete:
      tags:
      - Diagrams
      summary: deletes a diagram
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        type: string
        required: true
      responses:
        '200':
          description: OK
        '401':
          description: unauthorized
        '404':
          description: diagram not found
  /4.0/diagrams/{id}/auto-seat:
    patch:
      tags:
      - Diagrams
      summary: automatically seat array of guest objects at available chairs
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: id of diagram to seat guests in
        required: true
        type: string
      - name: data
        in: body
        schema:
          $ref: '#/definitions/diagrams__auto-seat-diagram-service'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/diagrams__seat-diagram-service'
        '400':
          description: unable to seat guests, returns an error object
        '401':
          description: unauthorized
        '404':
          description: diagram does not exist
  /4.0/diagrams/{id}/guests:
    get:
      tags:
      - Diagrams
      summary: get chair and floor element information for seated guests
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        type: string
        required: true
      responses:
        '200':
          description: returns a map of guest ids to chair and fe infos
          schema:
            $ref: '#/definitions/diagrams__diagram-response-diagram-service'
        '401':
          description: unauthorized
        '404':
          description: Diagram not found
    delete:
      tags:
      - Diagrams
      summary: Detaches a diagram's guestlist and unseats all guests
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: id of diagram
        required: true
        type: string
      responses:
        '200':
          description: OK
        '401':
          description: unauthorized
        '404':
          description: diagram not found
  /4.0/diagrams/{id}/seat:
    patch:
      tags:
      - Diagrams
      summary: seat guests at specified floor elements in a diagram
      produces:
      - application/json
      parameters:
      - name: id
        in: path
        description: id of diagram to seat guests in
        required: true
        type: string
      - name: data
        in: body
        description: object keyed by guest_id with value being object with floor_element_id and chair_id
        required: true
        schema:
          $ref: '#/definitions/diagrams__seat-diagram-service'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/diagrams__diagram-response-diagram-service'
        '400':
          description: seating data is not valid
        '401':
          description: unauthorized
        '404':
          description: diagram does not exist
  /4.0/diagrams/guestlist/{guestlistId}:
    get:
      tags:
      - Diagrams
      summary: Get a diagram by its guestlist ID
      produces:
      - application/json
      parameters:
      - name: guestlistId
        in: path
        type: string
        required: true
      - name: fields
        in: query
        type: string
        required: false
      responses:
        '200':
          description: returns a diagram
          schema:
            $ref: '#/definitions/diagrams__diagram-response-diagram-service'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Diagram not found
definitions:
  floor-elements__object-meta-diagram-service:
    title: Object Metadata
    type: object
    allOf:
    - $ref: '#/definitions/floor-elements__object-meta-core-diagram-service'
    - type: object
      properties:
        tents:
          $ref: '#/definitions/floor-elements__tent-diagram-service'
  floor-elements__line-connections-diagram-service:
    title: Line Connections
    type: object
    required:
    - head
    - tail
    properties:
      head:
        $ref: '#/definitions/floor-elements__line-connection-diagram-service'
      tail:
        $ref: '#/definitions/floor-elements__line-connection-diagram-service'
  floor-plans__floor-plan-diagram-service:
    title: Floor Plan
    type: object
    additionalProperties: false
    properties:
      type:
        enum:
        - bookableRoom
        - spaceTemplate
        - image
        - background
        type: string
      id:
        type: integer
      url:
        type: string
      background_type:
        type: string
  template-config__template-config-diagram-service:
    title: Template Config
    type: object
    allOf:
    - type: object
      properties:
        table:
          $ref: '#/definitions/template-config__table-diagram-service'
        aisles:
          $ref: '#/definitions/template-config__aisles-diagram-service'
        meta:
          $ref: '#/definitions/template-config__meta-diagram-service'
    - $ref: '#/definitions/template-config__template-config-core-diagram-service'
  diagrams__auto-seat-diagram-service:
    title: Diagram Auto Seat
    type: object
    additionalProperties: false
    required:
    - guests
    properties:
      guests:
        type: array
        items:
          $ref: '#/definitions/guests__guest-diagram-service'
      floor_elements:
        type: array
        items:
          type: string
      update_id:
        type: string
  floor-elements__tent-diagram-service:
    title: Tent Floor Element
    type: object
    additionalProperties: false
    properties:
      hor:
        type: number
      ver:
        type: number
      type:
        type: string
  positiveNumber-diagram-service:
    type: number
    exclusiveMinimum: true
    minimum: 0
  template-config__template-config-core-diagram-service:
    title: Template Config core fields
    type: object
    properties:
      setup:
        type: string
      chevronAngle:
        type: integer
      chairs:
        type: integer
      chairOrientation:
        type: string
      chairType:
        type: string
      column:
        type: object
        properties:
          spacing:
            type: number
      floorElementType:
        type: string
      chairSides:
        type: object
        additionalProperties: false
        properties:
          side_1_count:
            type: integer
          side_2_count:
            type: integer
          side_3_count:
            type: integer
          side_4_count:
            type: integer
      chair:
        type: object
        additionalProperties: false
        properties:
          size:
            $ref: '#/definitions/dimensions-diagram-service'
      rotation:
        type: number
      relativeRotation:
        type: number
      locations:
        type: object
        additionalProperties:
          type: string
      theaterCurve:
        type: integer
      theaterChairNumberOffset:
        type: number
      theaterChairNumberIsOddEven:
        $ref: '#/definitions/theaterChairNumberIsOddEven-diagram-service'
      theaterChairNumberIsReverse:
        type: boolean
      theaterChairNumbersOmitted:
        type: array
        items:
          type: integer
      sectionName:
        type: string
      sectionLabelling:
        enum:
        - alphabetical
        - numerical
        - none
        type: string
      sectionLabellingRowOffset:
        type: number
      sectionLabellingRowIsReverse:
        type: boolean
      sectionLabellingRowsOmitted:
        type: array
        items:
          type: integer
      catalogCategoryTypeItemId:
        type: integer
      chairCatalogCategoryTypeItemId:
        type: integer
      removedSeats:
        type: integer
      color:
        type: string
  floor-elements__floor-element-core-diagram-service:
    title: Floor Element core fields
    type: object
    properties:
      font_size:
        type: number
      group_id:
        type: string
      isObjectLabelToggled:
        type: boolean
      is_locked:
        type: boolean
      name:
        type: string
      number:
        type: integer
      objectLabelSize:
        type: number
      objectLabelType:
        enum:
        - text
        - icon
        type: string
      object_meta:
        $ref: '#/definitions/floor-elements__object-meta-diagram-service'
      section_id:
        type: string
  template-config__meta-strict-diagram-service:
    title: Strict Template Metadata
    type: object
    required:
    - rows
    - cols
    allOf:
    - $ref: '#/definitions/template-config__meta-diagram-service'
  floor-elements__object-meta-core-diagram-service:
    title: Object Metadata core fields
    type: object
    properties:
      image:
        type: string
      path_def:
        type: string
      legacy_id:
        type: integer
      steps:
        type: integer
      line_thickness:
        type: number
      tile_dimensions:
        $ref: '#/definitions/widthLength-diagram-service'
      rope_number:
        type: integer
      connections:
        $ref: '#/definitions/floor-elements__line-connections-diagram-service'
      projector_image_type:
        type: string
      line_endpoints:
        $ref: '#/definitions/floor-elements__line-endpoints-diagram-service'
  floor-elements__chair-core-diagram-service:
    title: Common chair fields
    type: object
    properties:
      custom_chair_id:
        type: string
      catalogCategoryTypeItemId:
        type: integer
      side:
        type: integer
      guest_id:
        type: string
      orientation:
        enum:
        - top
        - bottom
        - left
        - right
        - default
        type: string
  template-config__template-config-strict-diagram-service:
    title: Strict Template Config
    type: object
    required:
    - setup
    allOf:
    - type: object
      properties:
        table:
          $ref: '#/definitions/template-config__table-strict-diagram-service'
        aisles:
          $ref: '#/definitions/template-config__aisles-strict-diagram-service'
        meta:
          $ref: '#/definitions/template-config__meta-strict-diagram-service'
    - $ref: '#/definitions/template-config__template-config-core-diagram-service'
  xyPairStrict-diagram-service:
    type: object
    required:
    - x
    - y
    additionalProperties: false
    properties:
      x:
        type: number
      y:
        type: number
  stringOrNull-diagram-service:
    type: string
  sections__section-strict-diagram-service:
    title: Strict Section
    type: object
    allOf:
    - type: object
      required:
      - id
      properties:
        id:
          type: string
    - $ref: '#/definitions/sections__section-diagram-service'
  template-config__aisle-diagram-service:
    title: Template Aisle
    type: object
    properties:
      width:
        type: number
      floorElementsBetween:
        type: number
  floor-elements__line-endpoints-diagram-service:
    title: Line Endpoints
    type: object
    properties:
      head:
        enum:
        - arrow
      tail:
        enum:
        - arrow
  diagrams__diagram-core-diagram-service:
    title: Common diagram fields
    type: object
    properties:
      deleted:
        type: boolean
      external_diagram_id:
        type: string
      external_event_id:
        type: string
      floorPlan:
        $ref: '#/definitions/floor-plans__floor-plan-diagram-service'
      guestlist_id:
        type: string
      length:
        $ref: '#/definitions/positiveNumber-diagram-service'
      name:
        type: string
        maxLength: 255
      notes:
        $ref: '#/definitions/stringOrNull-diagram-service'
      prefunction_perimeter:
        $ref: '#/definitions/numberOrNull-diagram-service'
      rotation:
        type: number
      service_perimeter:
        $ref: '#/definitions/numberOrNull-diagram-service'
      sort_order:
        $ref: '#/definitions/numberOrNull-diagram-service'
      table_numbering:
        $ref: '#/definitions/diagrams__table-numbering-diagram-service'
      team_uploads_id:
        $ref: '#/definitions/stringOrNull-diagram-service'
      update_id:
        type: string
      width:
        $ref: '#/definitions/positiveNumber-diagram-service'
      start_datetime:
        type: string
        format: date-time
      end_datetime:
        type: string
        format: date-time
  guests__seat-diagram-service:
    title: Guest Seat
    type: object
    additionalProperties: false
    required:
    - floor_element_id
    - chair_id
    properties:
      floor_element_id:
        type: string
      chair_id:
        type: string
      guest_id:
        type: string
  diagrams__diagram-main-diagram-service:
    title: Diagram
    type: object
    allOf:
    - properties:
        space_id:
          type: integer
        session_id:
          type: string
        event_id:
          type: string
        legacy_event_id:
          type: integer
        team_id:
          description: A legacy (v2) team id.
          type: string
        floor_elements:
          type: object
          additionalProperties:
            $ref: '#/definitions/floor-elements__floor-element-diagram-service'
        groups:
          type: object
          additionalProperties:
            $ref: '#/definitions/groups__group-strict-diagram-service'
        sections:
          type: object
          additionalProperties:
            $ref: '#/definitions/sections__section-strict-diagram-service'
        boundary_visibility:
          $ref: '#/definitions/diagrams__components~1boundary-visibility-diagram-service'
    - $ref: '#/definitions/diagrams__diagram-core-diagram-service'
  theaterChairNumberIsOddEven-diagram-service:
    enum:
    - odd
    - even
    - true
    - false
  template-config__aisle-strict-diagram-service:
    title: Template Aisle Strict
    type: object
    required:
    - width
    allOf:
    - $ref: '#/definitions/template-config__aisle-diagram-service'
  template-config__aisles-diagram-service:
    title: Template Aisles
    type: object
    additionalProperties: false
    properties:
      vertical:
        $ref: '#/definitions/template-config__aisle-diagram-service'
      horizontal:
        $ref: '#/definitions/template-config__aisle-diagram-service'
  template-config__aisles-strict-diagram-service:
    title: Strict Template Aisles
    type: object
    additionalProperties: false
    required:
    - vertical
    - horizontal
    properties:
      vertical:
        $ref: '#/definitions/template-config__aisle-strict-diagram-service'
      horizontal:
        $ref: '#/definitions/template-config__aisle-strict-diagram-service'
  template-config__table-strict-diagram-service:
    title: Strict Template Table
    type: object
    additionalProperties: false
    properties:
      size:
        $ref: '#/definitions/dimensions-diagram-service'
      spacing:
        $ref: '#/definitions/xyPairStrict-diagram-service'
      rotation:
        type: number
  floor-elements__chair-strict-diagram-service:
    title: Strict Chair Floor Element
    type: object
    required:
    - id
    - type
    - side_index
    allOf:
    - $ref: '#/definitions/floor-elements__chair-core-diagram-service'
    - type: object
      properties:
        id:
          type: string
        type:
          type: string
        dimensions:
          $ref: '#/definitions/widthLengthStrict-diagram-service'
        side_index:
          type: integer
  floor-elements__floor-element-diagram-service:
    title: Floor Element
    type: object
    required:
    - color
    - dimensions
    - id
    - layer
    - layout
    - position
    - rotation
    allOf:
    - properties:
        id:
          type: string
        catalogCategoryTypeItemId:
          type: integer
        color:
          type: string
        dimensions:
          $ref: '#/definitions/dimensions-diagram-service'
        layer:
          type: integer
        layout:
          type: string
        rotation:
          type: number
        position:
          $ref: '#/definitions/xyPairStrict-diagram-service'
        table_meta:
          $ref: '#/definitions/floor-elements__table-meta-strict-diagram-service'
    - $ref: '#/definitions/floor-elements__floor-element-core-diagram-service'
  template-config__table-diagram-service:
    title: Template Table
    type: object
    additionalProperties: false
    properties:
      size:
        $ref: '#/definitions/dimensions-diagram-service'
      spacing:
        $ref: '#/definitions/xyPair-diagram-service'
      rotation:
        type: number
  groups__group-strict-diagram-service:
    title: Strict Group
    type: object
    additionalProperties: false
    required:
    - id
    properties:
      id:
        type: string
      template_config:
        $ref: '#/definitions/template-config__template-config-strict-diagram-service'
      favorite_id:
        type: string
      group_rotation:
        type: integer
      template_preset_id:
        type: string
  dimensions-diagram-service:
    type: object
    additionalProperties: false
    properties:
      width:
        type: number
      length:
        type: number
      radius:
        type: number
  widthLength-diagram-service:
    type: object
    additionalProperties: false
    properties:
      width:
        type: number
      length:
        type: number
  floor-elements__line-connection-diagram-service:
    title: Line Connection
    type: object
    required:
    - object_id
    - ratio_x
    - ratio_y
    properties:
      object_id:
        type: string
      ratio_x:
        type: number
      ratio_y:
        type: number
  diagrams__diagram-response-diagram-service:
    title: Diagram response
    type: object
    allOf:
    - properties:
        id:
          type: string
        updated_at:
          type: string
        created_at:
          type: string
        chair_count:
          type: integer
    - $ref: '#/definitions/diagrams__diagram-main-diagram-service'
  xyPair-diagram-service:
    type: object
    additionalProperties: false
    properties:
      x:
        type: number
      y:
        type: number
  widthLengthStrict-diagram-service:
    required:
    - width
    - length
    allOf:
    - $ref: '#/definitions/widthLength-diagram-service'
  template-config__meta-diagram-service:
    title: Template Table
    type: object
    additionalProperties: false
    properties:
      rows:
        type: integer
      cols:
        type: integer
  numberOrNull-diagram-service:
    type: number
  diagrams__seat-diagram-service:
    title: Diagram Seat
    type: object
    additionalProperties: false
    required:
    - guest_seats
    properties:
      guest_seats:
        type: array
        items:
          $ref: '#/definitions/guests__seat-diagram-service'
      update_id:
        type: string
  diagrams__table-numbering-diagram-service:
    title: Table Numbering
    type: object
    additionalProperties: false
    properties:
      allowRepeats:
        type: boolean
      evenOnly:
        type: boolean
      oddOnly:
        type: boolean
      skipNumbers:
        type: array
        items:
          type: integer
      skipNumbersWith:
        type: array
        items:
          type: integer
      startingNumber:
        type: integer
  guests__guest-diagram-service:
    title: Guest
    type: object
    additionalProperties: false
    required:
    - id
    properties:
      id:
        type: string
      group_id:
        type: string
  floor-elements__table-meta-strict-diagram-service:
    title: Object Metadata
    type: object
    required:
    - chairs
    allOf:
    - $ref: '#/definitions/floor-elements__table-meta-core-diagram-service'
    - properties:
        chairs:
          type: object
          additionalProperties:
            $ref: '#/definitions/floor-elements__chair-strict-diagram-service'
  sections__section-diagram-service:
    title: Section
    type: object
    properties:
      label:
        type: string
      template_config:
        $ref: '#/definitions/template-config__template-config-diagram-service'
  floor-elements__table-meta-core-diagram-service:
    title: Table Metadata core fields
    type: object
    allOf:
    - type: object
      properties:
        legacy_id:
          type: integer
        removed:
          type: integer
        theater_curve:
          type: number
        useCustomSeatNumbering:
          type: boolean
        sectionLabelling:
          type: string
        useCustomSectionLabelling:
          type: boolean
    - $ref: '#/definitions/floor-elements__components~1theater-chairs-diagram-service'
securityDefinitions:
  oauth2:
    type: oauth2
    description: OAuth
    tokenUrl: https://auth.socialtables.com/oauth/token
    authorizationUrl: https://auth.socialtables.com/oauth/authorize
    flow: accessCode
    scopes:
      authenticated: any authentication whatsoever
      create:oauth_client: oauth client create
      userdata: All of the things.
  user_token:
    type: apiKey
    name: user_token
    in: header
    description: Social Tables User Token
  partner_token:
    type: apiKey
    name: partner_token
    in: header
    description: Social Tables Partner Token