FactSet Portfolio

Through the Portfolio API, you can accomplish what-if analysis by uploading a paper portfolio to test out a new strategy or prospective opportunity.

OpenAPI Specification

portfolio-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Factset ModelAccounts API
  description: Allow clients to fetch ModelAccounts Analytics through APIs.
  contact:
    name: FactSet Research Systems
    url: https://developer.factset.com/contact
    email: [email protected]
  license:
    name: Apache License, Version 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '3'
servers:
  - url: https://api.factset.com
paths:
  /analytics/accounts/v3/models/{name}:
    put:
      tags:
        - Analytics
      summary: Factset Create or update an existing model account
      operationId: createOrUpdateModelAccount
      parameters:
        - name: name
          in: path
          description: The path and filename of the model account to create or update
          required: true
          schema:
            type: string
            description: The path and filename of the model account to create or update
      requestBody:
        description: The object containing the input values
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelAccountFieldsRoot'
            example:
              data:
                iterative:
                  '20191010':
                    FDS:
                      weight: '20'
                      price: '50'
                      priceiso: USD
                    GOOGL:
                      weight: '20'
                      price: '50'
                      priceiso: USD
                nonIterative:
                  GOOGL:
                    taxable: 'false'
                  FDS:
                    taxable: 'false'
                additionalFields:
                  - iteration: false
                    name: TAXABLE
                    type: STRING
                    description: Taxable
                    splitDirection: NONE
                    size: 0
              meta:
                description: Test desc
      responses:
        '200':
          description: Expected response, updated model account
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '201':
          description: Expected response, created model account
          headers:
            Location:
              description: Location of the resource created
              schema:
                type: string
                description: Location of the resource created
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '204':
          description: Model account doesn't exist
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '400':
          description: Invalid POST body.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientErrorResponse'
        '401':
          description: Missing or invalid authentication.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '403':
          description: User is forbidden with current credentials
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '404':
          description: Not Found
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientErrorResponse'
        '413':
          description: Request body too large
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '415':
          description: >-
            Missing/Invalid Content-Type header. Header needs to be set to
            application/json.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '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.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '503':
          description: Request timed out. Retry the request in sometime.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
    delete:
      tags:
        - Analytics
      summary: Factset Delete model account, takes an account path and name and deletes it.
      operationId: deleteAModelAccount
      parameters:
        - name: name
          in: path
          description: The path and filename of model account to delete
          required: true
          schema:
            type: string
            description: The path and filename of model account to delete
      responses:
        '204':
          description: Expected response, no content
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '400':
          description: Invalid model account name or type parameter provided
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientErrorResponse'
        '401':
          description: Missing or invalid authentication
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '403':
          description: User is forbidden with current credentials
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '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.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '503':
          description: Request timed out. Retry the request in sometime.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
    get:
      tags:
        - Analytics
      summary: Factset Get account endpoint, takes an account name and returns underlying data
      operationId: getAccount
      parameters:
        - name: name
          in: path
          description: The path and filename of the account to get
          required: true
          schema:
            type: string
            description: The path and filename of the account to get
        - name: format
          in: query
          description: >-
            Optional format for the response, supported formats are JsonStach
            and AccountModel
          schema:
            type: string
            description: >-
              Optional format for the response, supported formats are JsonStach
              and AccountModel
            default: JsonStach
      responses:
        '200':
          description: >-
            Expected response, returns JSON representation of the account's
            dates, symbols and  other fields.
          headers:
            Content-Encoding:
              description: >-
                Standard HTTP header. Header value based on Accept-Encoding
                Request header.
              schema:
                type: string
                description: >-
                  Standard HTTP header. Header value based on Accept-Encoding
                  Request header.
            Content-Type:
              description: Standard HTTP header.
              schema:
                type: string
                description: Standard HTTP header.
            Transfer-Encoding:
              description: >-
                Standard HTTP header. Header value will be set to Chunked if
                Accept-Encoding header is specified.
              schema:
                type: string
                description: >-
                  Standard HTTP header. Header value will be set to Chunked if
                  Accept-Encoding header is specified.
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAndMetaModel'
        '400':
          description: Invalid account name or type parameter provided.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientErrorResponse'
        '401':
          description: Missing or invalid authentication.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '403':
          description: User is forbidden with current credentials
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '404':
          description: The provided account name does not exist at the location provided.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientErrorResponse'
        '406':
          description: >-
            Unsupported Accept header. Header needs to be set to
            application/json.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
            X-FactSet-Api-RateLimit-Limit:
              description: Number of allowed requests for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Remaining:
              description: Number of requests left for the time window.
              schema:
                type: string
            X-FactSet-Api-RateLimit-Reset:
              description: Number of seconds remaining till rate limit resets.
              schema:
                type: string
        '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.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
        '503':
          description: Request timed out. Retry the request in sometime.
          headers:
            X-DataDirect-Request-Key:
              description: FactSet's request key header.
              schema:
                type: string
                description: FactSet's request key header.
            X-FactSet-Api-Request-Key:
              description: >-
                Key to uniquely identify an Analytics API request. Only
                available after successful authentication.
              schema:
                type: string
                description: >-
                  Key to uniquely identify an Analytics API request. Only
                  available after successful authentication.
  /analytics/accounts/v3/models/{name}/symbols/{symbol}:
    delete:
      tags:
        - Analytics
      summary: >-
        Factset Delete all entries for a symbol or specific date entries for a symbol from a previously created account.
      operationId: deleteModelAccountBySymbol
      parameters:
        - name: name
          in: path
          description: The filename of model account to delete
          required: true
          schema:
            type: string
            description: The filename of model account to delete
        - name: symbol
          in: path
          description: The symbol from the given file name to delete
          required: true
          schema:
            type: string
            description: The symbol from the given file name to delete
        - name: dates
          in: query
          description: >-
            The dates from the given file name and symbol to delete (Maximum 10
            dates are

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/portfolio-openapi-original.yml