swagger: "2.0"
schemes:
  - https
host: api.slideroom.com
info:
  description: SlideRoom provides a RESTful API for exporting data out of your organizations SlideRoom account.
  title: SlideRoom API V2
  version: v2
  x-logo:
    backgroundColor: "#000000"
    url: https://www.slideroom.com/wp-content/themes/slideroom/assets/img/slideroom-by-liaison-logo-white.png
  x-origin:
    - format: swagger
      url: https://api.slideroom.com/schema/v2
      version: "2.0"
  x-providerName: slideroom.com
paths:
  /api/v2/applicant/attributes:
    delete:
      consumes: []
      operationId: Applicant_DeleteAttributesV2
      parameters:
        - description: The email address of the applicant.
          in: query
          name: email
          required: true
          type: string
        - description: The name of the attribute to be deleted.
          in: query
          name: name
          required: true
          type: string
        - enum:
            - Standard
            - CommonAppSDS
          in: query
          name: pool
          required: false
          type: string
        - format: int32
          in: query
          name: commonAppYear
          required: false
          type: integer
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            type: string
      summary: Deletes a custom attribute for an applicant.
      tags:
        - Applicant
    get:
      consumes: []
      operationId: Applicant_GetAttributesV2
      parameters:
        - description: The email address of the applicant.
          in: query
          name: email
          required: true
          type: string
        - enum:
            - Standard
            - CommonAppSDS
          in: query
          name: pool
          required: false
          type: string
        - format: int32
          in: query
          name: commonAppYear
          required: false
          type: integer
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          examples:
            application/json:
              name1: Value1
              name2: Value2
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Gets the custom attributes for an applicant.
      tags:
        - Applicant
    post:
      consumes:
        - application/json
        - text/json
        - application/xml
        - text/xml
        - application/x-www-form-urlencoded
      description: This method only adds or updates attributes. Null values will be updated as nulls, but not deleted. API Import is available in the Advanced Plan.
      operationId: Applicant_PostAttributesV2
      parameters:
        - description: The email address of the applicant.
          in: query
          name: email
          required: true
          type: string
        - description: The name/value pairs of the attributes.
          in: body
          name: data
          required: true
          schema:
            additionalProperties:
              type: string
            example:
              name1: Value1
              name2: Value2
            type: object
        - enum:
            - Standard
            - CommonAppSDS
          in: query
          name: pool
          required: false
          type: string
        - format: int32
          in: query
          name: commonAppYear
          required: false
          type: integer
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            type: string
      summary: Updates the custom attributes for an applicant.
      tags:
        - Applicant
  /api/v2/applicant/attributes/names:
    get:
      consumes: []
      operationId: Applicant_GetAttributeNamesV2
      parameters: []
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            items:
              type: string
            type: array
      summary: Gets the custom applicant attributes used by the organization.
      tags:
        - Applicant
  /api/v2/application/attributes/names:
    get:
      consumes: []
      operationId: Application_GetAttributeNamesV2
      parameters: []
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            items:
              type: string
            type: array
      summary: Gets the custom application attributes used by the organization.
      tags:
        - Application
  /api/v2/application/request-export:
    post:
      consumes: []
      description: "Exports are generated asynchronously within SlideRoom.  To retrieve the export file generated by this request, use the api/v#/export/{token} endpoint to check the progress/result of the generation process.\r

        PDF and ZIP exports are available in the Advanced Plan."
      operationId: Application_RequestExportV2
      parameters:
        - enum:
            - csv
            - tsv
            - txt
            - tab
            - xlsx
            - pdf
            - zip
            - json
          in: query
          name: format
          required: false
          type: string
        - enum:
            - Assigned
            - Current
            - Named
            - All
          in: query
          name: roundType
          required: false
          type: string
        - in: query
          name: roundName
          required: false
          type: string
        - in: query
          name: tab.export
          required: false
          type: string
        - in: query
          name: pdf.includeForms
          required: false
          type: boolean
        - in: query
          name: pdf.includeReferences
          required: false
          type: boolean
        - in: query
          name: pdf.includeMedia
          required: false
          type: boolean
        - in: query
          name: pdf.includeApplicantAttachments
          required: false
          type: boolean
        - in: query
          name: pdf.includeOrganizationAttachments
          required: false
          type: boolean
        - in: query
          name: pdf.includeRatings
          required: false
          type: boolean
        - in: query
          name: pdf.includeFullPageMedia
          required: false
          type: boolean
        - in: query
          name: pdf.includeHighlights
          required: false
          type: boolean
        - in: query
          name: pdf.includeComments
          required: false
          type: boolean
        - in: query
          name: pdf.includeCommonApp
          required: false
          type: boolean
        - in: query
          name: zip.originalMedia
          required: false
          type: boolean
        - in: query
          name: zip.includeForms
          required: false
          type: boolean
        - in: query
          name: zip.includeReferences
          required: false
          type: boolean
        - in: query
          name: zip.includeMedia
          required: false
          type: boolean
        - in: query
          name: zip.includeApplicantAttachments
          required: false
          type: boolean
        - in: query
          name: zip.includeOrganizationAttachments
          required: false
          type: boolean
        - in: query
          name: zip.includeRatings
          required: false
          type: boolean
        - in: query
          name: zip.includeComments
          required: false
          type: boolean
        - in: query
          name: zip.includeCommonApp
          required: false
          type: boolean
        - in: query
          name: delivery.account
          required: false
          type: string
        - in: query
          name: delivery.folder
          required: false
          type: string
        - format: int32
          in: query
          name: since
          required: false
          type: integer
        - enum:
            - All
            - Current
            - Archived
            - CommonAppSDS
          in: query
          name: pool
          required: false
          type: string
        - enum:
            - All
            - InProgress
            - Submitted
          in: query
          name: status
          required: false
          type: string
        - in: query
          name: searchName
          required: false
          type: string
        - in: query
          name: email
          required: false
          type: string
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/RequestApplicationExportResultV2"
      summary: Requests the generation of application export files (tabular, pdf, zip).
      tags:
        - Application
  "/api/v2/application/{applicationId}/attributes":
    delete:
      consumes: []
      operationId: Application_DeleteAttributesV2
      parameters:
        - description: The ID of the application.
          in: path
          name: applicationId
          required: true
          type: string
        - description: The name of the attribute to be deleted.
          in: query
          name: name
          required: true
          type: string
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            type: string
      summary: Deletes a custom attribute for an application.
      tags:
        - Application
    get:
      consumes: []
      operationId: Application_GetAttributesV2
      parameters:
        - description: The ID of the application.
          in: path
          name: applicationId
          required: true
          type: string
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          examples:
            application/json:
              name1: Value1
              name2: Value2
          schema:
            additionalProperties:
              type: string
            type: object
      summary: Gets the custom attributes for an application.
      tags:
        - Application
    post:
      consumes:
        - application/json
        - text/json
        - application/xml
        - text/xml
        - application/x-www-form-urlencoded
      description: This method only adds or updates attributes. Null values will be updated as nulls, but not deleted.
      operationId: Application_PostAttributesV2
      parameters:
        - description: The ID of the application.
          in: path
          name: applicationId
          required: true
          type: string
        - description: The name/value pairs of the attributes.
          in: body
          name: data
          required: true
          schema:
            additionalProperties:
              type: string
            example:
              name1: Value1
              name2: Value2
            type: object
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            type: string
      summary: Updates the custom attributes for an application. API Import is available in the Advanced Plan.
      tags:
        - Application
  "/api/v2/application/{applicationId}/request-export":
    post:
      consumes: []
      description: Exports are generated asynchronously within SlideRoom.  To retrieve the export file generated by this request, use the api/v#/export/{token} endpoint to check the progress/result of the generation process.
      operationId: Application_RequestExportByApplicationIdV2
      parameters:
        - description: The id of the application to export
          in: path
          name: applicationId
          required: true
          type: string
        - enum:
            - csv
            - tsv
            - txt
            - tab
            - xlsx
            - pdf
            - zip
            - json
          in: query
          name: format
          required: false
          type: string
        - enum:
            - Assigned
            - Current
            - Named
            - All
          in: query
          name: roundType
          required: false
          type: string
        - in: query
          name: roundName
          required: false
          type: string
        - in: query
          name: tab.export
          required: false
          type: string
        - in: query
          name: pdf.includeForms
          required: false
          type: boolean
        - in: query
          name: pdf.includeReferences
          required: false
          type: boolean
        - in: query
          name: pdf.includeMedia
          required: false
          type: boolean
        - in: query
          name: pdf.includeApplicantAttachments
          required: false
          type: boolean
        - in: query
          name: pdf.includeOrganizationAttachments
          required: false
          type: boolean
        - in: query
          name: pdf.includeRatings
          required: false
          type: boolean
        - in: query
          name: pdf.includeFullPageMedia
          required: false
          type: boolean
        - in: query
          name: pdf.includeHighlights
          required: false
          type: boolean
        - in: query
          name: pdf.includeComments
          required: false
          type: boolean
        - in: query
          name: pdf.includeCommonApp
          required: false
          type: boolean
        - in: query
          name: zip.originalMedia
          required: false
          type: boolean
        - in: query
          name: zip.includeForms
          required: false
          type: boolean
        - in: query
          name: zip.includeReferences
          required: false
          type: boolean
        - in: query
          name: zip.includeMedia
          required: false
          type: boolean
        - in: query
          name: zip.includeApplicantAttachments
          required: false
          type: boolean
        - in: query
          name: zip.includeOrganizationAttachments
          required: false
          type: boolean
        - in: query
          name: zip.includeRatings
          required: false
          type: boolean
        - in: query
          name: zip.includeComments
          required: false
          type: boolean
        - in: query
          name: zip.includeCommonApp
          required: false
          type: boolean
        - in: query
          name: delivery.account
          required: false
          type: string
        - in: query
          name: delivery.folder
          required: false
          type: string
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "202":
          description: Accepted
          schema:
            $ref: "#/definitions/RequestApplicationExportResultV2"
        "400":
          description: Bad Request
      summary: Requests the generation of a single application export file (tabular, pdf, zip).
      tags:
        - Application
  "/api/v2/export/{token}":
    get:
      consumes: []
      operationId: Export_GetV2
      parameters:
        - description: ""
          format: int32
          in: path
          name: token
          required: true
          type: integer
      produces:
        - application/json
        - text/json
        - application/xml
        - text/xml
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ExportResultV2"
      summary: Gets the status/result of a requested export.
      tags:
        - Export
definitions:
  ExportResultV2:
    properties:
      completed_files:
        format: int32
        type: integer
      file_urls:
        items:
          type: string
        type: array
      status:
        type: string
      total_files:
        format: int32
        type: integer
    type: object
  RequestApplicationExportResultV2:
    properties:
      message:
        type: string
      submissions:
        format: int32
        type: integer
      token:
        format: int32
        type: integer
    type: object
