> ## Documentation Index
> Fetch the complete documentation index at: https://edgeful.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# account settings

> read your Edgeful account settings: whether this key may write, your defaults, custom sessions, bookmarks resolved to report pages, watchlists per market, the setting keys you customized and an index of your templates. works with writes off.



## OpenAPI

````yaml /openapi-public.json get /v1/settings
openapi: 3.1.0
info:
  title: Edgeful API
  description: >-
    Public API reference for Edgeful market analysis. The bearer token is your
    Edgeful API key. Reports support the docs playground. Report responses
    include row-level output in `detailed` only when your plan includes
    row-level detail.
  version: 1.0.0
servers:
  - url: https://api.edgeful.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: reports
  - name: discovery
  - name: live data
  - name: settings
  - name: custom reports
paths:
  /v1/settings:
    get:
      tags:
        - settings
      summary: account settings
      description: >-
        read your Edgeful account settings: whether this key may write, your
        defaults, custom sessions, bookmarks resolved to report pages,
        watchlists per market, the setting keys you customized and an index of
        your templates. works with writes off.
      operationId: get_account_settings
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSettingsResponse'
        '403':
          description: Valid API key, but the account has no API-enabled subscription.
          content:
            application/json:
              examples:
                missing_entitlement:
                  summary: missing entitlement
                  value:
                    detail:
                      detail: No active subscription with API access found.
                      code: missing_entitlement
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.edgeful.com/v1/settings' \
              --header 'Authorization: Bearer <api-key>'
        - lang: python
          label: Python
          source: |-
            import requests

            url = "https://api.edgeful.com/v1/settings"
            headers = {"Authorization": "Bearer <api-key>"}

            response = requests.get(url, headers=headers)
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: |-
            const url = "https://api.edgeful.com/v1/settings";
            const options = {
              method: "GET",
              headers: { Authorization: "Bearer <api-key>" },
            };

            const response = await fetch(url, options);
            const data = await response.json();
            console.log(data);
        - lang: php
          label: PHP
          source: >-
            <?php

            $ch = curl_init("https://api.edgeful.com/v1/settings");

            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");

            curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer
            <api-key>"]);

            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

            $response = curl_exec($ch);

            curl_close($ch);

            echo $response;
        - lang: go
          label: Go
          source: |-
            package main

            import (
                "fmt"
                "io"
                "net/http"
            )

            func main() {
                req, _ := http.NewRequest("GET", "https://api.edgeful.com/v1/settings", nil)
                req.Header.Set("Authorization", "Bearer <api-key>")
                resp, _ := http.DefaultClient.Do(req)
                defer resp.Body.Close()
                body, _ := io.ReadAll(resp.Body)
                fmt.Println(string(body))
            }
        - lang: java
          label: Java
          source: >-
            import java.net.URI;

            import java.net.http.HttpClient;

            import java.net.http.HttpRequest;

            import java.net.http.HttpResponse;


            HttpClient client = HttpClient.newHttpClient();

            HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.edgeful.com/v1/settings"))
                .header("Authorization", "Bearer <api-key>")
                .method("GET", HttpRequest.BodyPublishers.noBody())
                .build();
            HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString());

            System.out.println(response.body());
        - lang: ruby
          label: Ruby
          source: >-
            require "net/http"

            require "uri"


            uri = URI("https://api.edgeful.com/v1/settings")

            request = Net::HTTP::Get.new(uri)

            request["Authorization"] = "Bearer <api-key>"


            response = Net::HTTP.start(uri.hostname, uri.port, use_ssl:
            uri.scheme == "https") do |http|
              http.request(request)
            end

            puts response.body
components:
  schemas:
    AccountSettingsResponse:
      properties:
        writes_enabled:
          type: boolean
          title: Writes Enabled
          description: whether this credential may write.
        defaults:
          $ref: '#/components/schemas/DefaultsTuple'
          description: account defaults.
        custom_sessions:
          items:
            $ref: '#/components/schemas/CustomSession'
          type: array
          title: Custom Sessions
          description: the member's custom sessions.
        bookmarks:
          $ref: '#/components/schemas/BookmarkLists'
          description: bookmarks resolved to report pages.
        watchlists:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
          title: Watchlists
          description: tickers per market.
        customized_setting_keys:
          items:
            type: string
          type: array
          title: Customized Setting Keys
          description: setting keys the member has customized.
        templates:
          items:
            $ref: '#/components/schemas/TemplateIndexEntry'
          type: array
          title: Templates
          description: index of the member's templates.
      additionalProperties: true
      type: object
      required:
        - writes_enabled
        - defaults
        - custom_sessions
        - bookmarks
        - watchlists
        - customized_setting_keys
        - templates
      title: AccountSettingsResponse
    DefaultsTuple:
      properties:
        market:
          anyOf:
            - type: string
            - type: 'null'
          title: Market
          description: default market.
        ticker:
          anyOf:
            - type: string
            - type: 'null'
          title: Ticker
          description: default ticker.
        session:
          anyOf:
            - type: string
            - type: 'null'
          title: Session
          description: default session id.
        date_range:
          anyOf:
            - type: string
            - type: 'null'
          title: Date Range
          description: default date range preset.
        report:
          anyOf:
            - type: string
            - type: 'null'
          title: Report
          description: default report slug or custom:<id>.
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
          description: >-
            the default report page in Edgeful, when market, ticker and report
            are all set.
      additionalProperties: true
      type: object
      required:
        - market
        - ticker
        - session
        - date_range
        - report
      title: DefaultsTuple
    CustomSession:
      properties:
        id:
          type: string
          title: Id
          description: custom session id.
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: session name.
        start_time:
          anyOf:
            - type: string
            - type: 'null'
          title: Start Time
          description: start as HH:MM.
        end_time:
          anyOf:
            - type: string
            - type: 'null'
          title: End Time
          description: end as HH:MM.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: IANA timezone.
        excludedDataTypes:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Excludeddatatypes
          description: data types the session excludes; empty for sessions saved here.
      additionalProperties: true
      type: object
      required:
        - id
      title: CustomSession
    BookmarkLists:
      properties:
        stock:
          items:
            $ref: '#/components/schemas/ReportDescription'
          type: array
          title: Stock
          description: the stock bookmark list.
        session:
          items:
            $ref: '#/components/schemas/ReportDescription'
          type: array
          title: Session
          description: the session bookmark list.
      additionalProperties: true
      type: object
      required:
        - stock
        - session
      title: BookmarkLists
    TemplateIndexEntry:
      properties:
        id:
          type: integer
          title: Id
          description: template id.
        type:
          type: string
          title: Type
          description: report, wip or screener.
        name:
          type: string
          title: Name
          description: template name.
        parent_report:
          anyOf:
            - type: string
            - type: 'null'
          title: Parent Report
          description: 'report templates: the report page''s slug.'
        sub_report:
          anyOf:
            - type: string
            - type: 'null'
          title: Sub Report
          description: 'report templates: the page''s sub-report slug.'
      additionalProperties: true
      type: object
      required:
        - id
        - type
        - name
      title: TemplateIndexEntry
    ReportDescription:
      properties:
        report:
          type: string
          title: Report
          description: report page slug.
        sub_report:
          type: string
          title: Sub Report
          description: sub-report slug.
        name:
          type: string
          title: Name
          description: the report family's display name.
        markets:
          items:
            type: string
          type: array
          title: Markets
          description: markets the page is available on.
        url:
          type: string
          title: Url
          description: the page in Edgeful on its default market and ticker.
      additionalProperties: true
      type: object
      required:
        - report
        - sub_report
        - name
        - markets
        - url
      title: ReportDescription
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Send your Edgeful API key in the Authorization header as `Bearer
        <api-key>` (for example, `Bearer ef_live_<random>`).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.