FactSet Programmatic Environment API

FactSet Programmatic Environment API.

OpenAPI Specification

programmatic-environment-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  title: Factset FPE API
  description: >-
    FactSet Programmatic Environment (FPE) API is an API for users to interact
    with FPE programmatically, streamlining path from research to production.
  version: 1.0.0
servers:
  - url: https://api.factset.com
paths:
  /analytics/quant/fpe/v1/calculations:
    post:
      tags:
        - Analytics
      summary: Factset Starts a new script calculation
      description: This endpoint takes a python script and starts executing it within FPE
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Calculation'
      responses:
        '202':
          description: >-
            Expected response, contains the relative URL in the Location header
            to check the status of the calculation.
          headers:
            Location:
              description: Relative URL to check status of the request.
              schema:
                type: string
                description: Relative URL to check status of the request.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculationStatus'
        '400':
          description: Invalid request body provided
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '503':
          description: Request timeout. Retry the request later
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
  /analytics/quant/fpe/v1/calculations/{id}:
    get:
      tags:
        - Analytics
      summary: Factset Get calculation status by id
      description: >-
        This is the endpoint to check on the progress of a previous calculation
        request.
      parameters:
        - name: id
          in: path
          description: >-
            From url, provided by location header or response body in the
            calculation start endpoint
          required: true
          schema:
            type: string
            description: >-
              From url, provided by location header or response body in the
              calculation start endpoint
      responses:
        '200':
          description: Expected response. Signals that the calculation is finished.
          headers:
            Location:
              description: Relative URL to check status of the request.
              schema:
                type: string
                description: Relative URL to check status of the request.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculationStatus'
        '202':
          description: >-
            Expected response. Signals that the calculation is still in
            progress.
          headers:
            Location:
              description: Relative URL to check status of the request.
              schema:
                type: string
                description: Relative URL to check status of the request.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalculationStatus'
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '503':
          description: Request timeout. Retry the request later
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
  /analytics/quant/fpe/v1/calculations/{id}/output:
    get:
      tags:
        - Analytics
      summary: Factset Get calculation output for a specific calculation
      description: This endpoint returns the specified output from the calculation.
      parameters:
        - name: id
          in: path
          description: >-
            From url, provided by location header or response body in the
            calculation start endpoint
          required: true
          schema:
            type: string
            description: >-
              From url, provided by location header or response body in the
              calculation start endpoint
      responses:
        '200':
          description: >-
            Expected response. Signals that the calculation is finished. Output
            from the calculation is returned.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            Content-Type:
              description: >-
                The content type of the output specified in the calculation's
                script.
              schema:
                type: string
          content:
            '*':
              schema:
                type: string
                format: binary
        '202':
          description: >-
            Expected response. Signals that the calculation is still in progress
            and no output is returned.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '503':
          description: Request timeout. Retry the request later
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
  /analytics/quant/fpe/v1/calculations/{id}/log:
    get:
      tags:
        - Analytics
      summary: Factset Get calculation log for a specific calculation
      description: This endpoint returns the log from the calculation.
      parameters:
        - name: id
          in: path
          description: >-
            From url, provided by location header or response body in the
            calculation start endpoint
          required: true
          schema:
            type: string
            description: >-
              From url, provided by location header or response body in the
              calculation start endpoint
      responses:
        '200':
          description: >-
            Expected response. Signals that the calculation is finished. Log
            from the calculation is returned.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            text/plain:
              schema:
                type: string
                format: binary
        '202':
          description: >-
            Expected response. Signals that the calculation is still in progress
            and no log is returned.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '503':
          description: Request timeout. Retry the request later
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
  /analytics/quant/fpe/v1/files/{server}/{file}:
    post:
      tags:
        - Analytics
      summary: Factset Starts a file upload
      description: This endpoint takes a file and uploads it
      parameters:
        - name: server
          in: path
          description: The server to upload the file to. Either `interactive` or `batch`.
          required: true
          schema:
            type: string
            description: The server to upload the file to. Either `interactive` or `batch`.
        - name: file
          in: path
          description: >-
            The file name to upload the file to. Existing directory can be
            specified.
          required: true
          schema:
            type: string
            description: >-
              The file name to upload the file to. Existing directory can be
              specified.
      requestBody:
        content:
          '*':
            schema:
              type: string
              format: binary
      responses:
        '202':
          description: >-
            Expected response, contains the relative URL in the Location header
            to check the status of the upload.
          headers:
            Location:
              description: Relative URL to check status of the request.
              schema:
                type: string
                description: Relative URL to check status of the request.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadStatus'
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '503':
          description: Request timeout. Retry the request later
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
  /analytics/quant/fpe/v1/files/uploads/{id}:
    get:
      tags:
        - Analytics
      summary: Factset Get upload status by id
      description: >-
        This is the endpoint to check on the progress of a previous upload
        request.
      parameters:
        - name: id
          in: path
          description: >-
            From url, provided by location header or response body in the upload
            start endpoint
          required: true
          schema:
            type: string
            description: >-
              From url, provided by location header or response body in the
              upload start endpoint
      responses:
        '200':
          description: Expected response. Signals that the upload is finished.
          headers:
            Location:
              description: Relative URL to check status of the request.
              schema:
                type: string
                description: Relative URL to check status of the request.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadStatus'
        '202':
          description: Expected response. Signals that the upload is still in progress.
          headers:
            Location:
              description: Relative URL to check status of the request.
              schema:
                type: string
                description: Relative URL to check status of the request.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadStatus'
        '500':
          description: >-
            Server error. Log the X-DataDirect-Request-Key header to assist in
            troubleshooting.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
        '503':
          description: Request timeout. Retry the request later
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
components:
  schemas:
    Calculation:
      properties:
        script:
          type: string
          description: The python script that will be executed
        notebook:
          type: string
          description: >-
            Notebook file to be executed. Only notebooks in the Client directory
            are currently supported.
    CalculationStatus:
      properties:
        id:
          type: string
          description: The unique ID for this calculation
        status:
          type: string
          enum:
            - pending
            - failed
            - completed
    FileUploadStatus:
      properties:
        id:
          type: string
          description: The unique ID for this upload
        status:
          type: string
          enum:
            - pending
            - failed
            - completed
            - running
tags:
  - name: Analytics