swagger: '2.0' info: title: Social Tables API Gateway Authentication Diagram Layouts API version: 4.0.0 description: The Social Tables API host: api.socialtables.com basePath: / tags: - name: Diagram Layouts paths: /4.0/layouts: get: tags: - Diagram Layouts summary: get multiple layouts produces: - application/json parameters: - name: bookable_room in: query type: integer required: false - name: space_template in: query type: integer required: false - name: team_id in: query type: string required: false responses: '200': description: returns an array of layouts schema: type: array items: $ref: '#/definitions/layouts__layout-diagram-service' '400': description: validation error must specify either bookable_room or space_template /4.0/layouts/: post: tags: - Diagram Layouts summary: inserts a layout produces: - application/json parameters: - name: body in: body description: the body of the layout required: true schema: $ref: '#/definitions/layouts__layout-diagram-service' responses: '200': description: inserted layout with id schema: $ref: '#/definitions/layouts__layout-diagram-service' '400': description: layout not valid '409': description: duplicate layout name /4.0/layouts/{id}: get: tags: - Diagram Layouts summary: get a layout by ID produces: - application/json parameters: - name: id in: path type: string required: true responses: '200': description: returns a layout schema: $ref: '#/definitions/layouts__layout-diagram-service' '404': description: layout not found delete: tags: - Diagram Layouts summary: deletes a layout produces: - application/json parameters: - name: id in: path type: string required: true responses: '200': description: OK '404': description: layout not found patch: tags: - Diagram Layouts summary: updates a layout produces: - application/json parameters: - name: id in: path type: string required: true - name: data in: body description: the body of the layout update required: true schema: type: object properties: data: $ref: '#/definitions/layouts__layout-patch-diagram-service' responses: '200': description: success schema: $ref: '#/definitions/layouts__layout-diagram-service' '400': description: layout update not valid 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' layouts__layout-diagram-service: title: Layout type: object additionalProperties: false required: - name properties: name: type: string rotation: type: number length: type: number width: type: number space_id: type: integer legacy_team_id: type: integer space_template_id: type: integer bookable_room_id: type: integer 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' catalog_id: type: integer floor-elements__tent-diagram-service: title: Tent Floor Element type: object additionalProperties: false properties: hor: type: number ver: type: number type: type: string 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 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 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-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' 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 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 layouts__layout-patch-diagram-service: title: Layout Patch type: object additionalProperties: false required: - name properties: deleted: type: boolean name: type: string proposeMetadata: type: object additionalProperties: false properties: capacity: type: integer 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' 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