{
  "openapi": "3.0.4",
  "info": {
    "title": "FinFeedAPI SEC REST API",
    "contact": {
      "name": "API BRICKS LTD",
      "url": "https://www.coinapi.io",
      "email": "support@apibricks.io"
    },
    "license": {
      "name": "MIT License",
      "url": "https://github.com/api-bricks/api-bricks-sdk/blob/master/LICENSE"
    },
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.sec.finfeedapi.com"
    }
  ],
  "paths": {
    "/v1/download": {
      "get": {
        "tags": [
          "File Download"
        ],
        "summary": "Download file from SEC EDGAR archive",
        "description": "Downloads a specific file from the SEC EDGAR archive using the accession number and filename.\nThe file is streamed directly from the SEC servers to the client.\n\n### Accession Number Format\nAccession numbers must be in the format: 0000000000-00-000000 (10 digits, dash, 2 digits, dash, 6 digits)\n\n### File Name Examples\n- Primary documents: `d123456d10k.htm`, `d789012d8k.htm`\n- XBRL files: `d123456d10k_htm.xml`, `FilingSummary.xml`\n- Exhibits: `d123456dexhibit99.htm`, `d123456dex101.htm`\n\n### File Types\nThe endpoint supports downloading various file types from SEC filings:\n- HTML documents (.htm, .html)\n- XBRL files (.xml, .xsd)\n- Text files (.txt)\n- PDF files (.pdf)\n- Other document formats as submitted to SEC\n\n:::tip\nYou can find available filenames for a specific filing using the `/v1/filings` endpoint first\n:::\n\n:::warning\nThis endpoint streams files directly from the SEC. Large files may take longer to download.\n:::",
        "parameters": [
          {
            "name": "accession_no",
            "in": "query",
            "description": "SEC filing accession number in format: 0000000000-00-000000",
            "required": true,
            "schema": {
              "pattern": "^\\d{10}-\\d{2}-\\d{6}$",
              "type": "string"
            }
          },
          {
            "name": "file_name",
            "in": "query",
            "description": "Name of the file to download from the filing",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "File downloaded successfully",
            "content": {
              "application/octet-stream": {},
              "text/html": {},
              "application/xml": {},
              "text/plain": {},
              "application/pdf": {}
            }
          },
          "400": {
            "description": "Invalid request parameters",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Filing or file not found",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/extractor": {
      "get": {
        "tags": [
          "Content Extraction"
        ],
        "summary": "Extract and classify SEC filing content",
        "description": "Retrieves filing content from the EDGAR database and intelligently classifies it according to form type and item categories.\n\n### Supported Form Types\n\nForm Type | Description\n----------|------------\n8-K      | Current report filing\n10-K     | Annual report filing\n10-Q     | Quarterly report filing\n\n### Content Classification\n- 8-K forms: Content classified by item numbers (e.g., 1.01, 2.01)\n- 10-K/10-Q forms: Items categorized by their respective part and item structure\n\n:::note\nBoth HTML and plain text documents are supported for content extraction.\n:::",
        "parameters": [
          {
            "name": "accession_number",
            "in": "query",
            "description": "The SEC filing accession number used to retrieve the filing from EDGAR database.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Result type (text or html, default: text)",
            "schema": {
              "$ref": "#/components/schemas/DTO.ExtractorType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful extraction",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "examples": {
                  "Example Filing Extract": {
                    "value": {
                      "accession_number": "0001140361-21-012345",
                      "form_type": "10-K",
                      "items": [
                        {
                          "item_number": "Item 1",
                          "item_title": "Business",
                          "content": "Description of business operations..."
                        },
                        {
                          "item_number": "Item 1A",
                          "item_title": "Risk Factors",
                          "content": "Discussion of potential risks and uncertainties..."
                        },
                        {
                          "item_number": "Item 2",
                          "item_title": "Properties",
                          "content": "Description of company properties and facilities..."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Filing not found"
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/extractor/item": {
      "get": {
        "tags": [
          "Content Extraction"
        ],
        "summary": "Extract specific item content from SEC filing",
        "description": "Retrieves filing content from the EDGAR database and returns only the text content of the specified item number.\n\n### Item Number Format\n\nForm Type | Item Format Examples\n-----------|-------------------\n8-K       | 1.01, 2.01, 7.01\n10-K      | 1, 2, 3\n10-K/10-Q | PartI 1, PartII 2\n\n:::tip\nFor best results, ensure the item number matches exactly with the filing's structure.\n:::",
        "parameters": [
          {
            "name": "accession_number",
            "in": "query",
            "description": "The SEC filing accession number used to retrieve the filing from EDGAR database.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "item_number",
            "in": "query",
            "description": "The specific item number to extract (e.g., \"1.01\", \"2.01\", \"7.01\").",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Result type (text or html, default: text)",
            "schema": {
              "$ref": "#/components/schemas/DTO.ExtractorType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful extraction",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Filing or item not found"
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/filings": {
      "get": {
        "tags": [
          "Filing Metadata"
        ],
        "summary": "Query SEC filing metadata",
        "description": "Retrieves metadata for SEC filings based on various filter criteria with pagination and sorting support.\n\n### Available Sort Fields\n\nField Name | Description\n-----------|-------------\nAccessionNumber | SEC filing accession number\nFilingDate | Date when filing was submitted\nAcceptanceDateTime | Date and time of filing acceptance\nReportDate | Date of the report\nSize | Size of the filing document\n\n### Date Format\nAll dates must be provided in YYYY-MM-DD format\n\n### Form Types\nForm types can be provided as comma-separated values, e.g.: \"10-K,8-K,10-Q\"\n\n:::tip\nFor optimal performance, use date ranges and form types to narrow down your search\n:::",
        "parameters": [
          {
            "name": "cik",
            "in": "query",
            "description": "Filter by Central Index Key (CIK)",
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "description": "Filter by stock ticker symbol",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "form_type",
            "in": "query",
            "description": "Filter by form type(s) (e.g., \"10-K\", \"8-K\"). Multiple values can be comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filling_date_start",
            "in": "query",
            "description": "Filter by filling date start (inclusive), format YYYY-MM-DD",
            "schema": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "name": "filling_date_end",
            "in": "query",
            "description": "Filter by filling date end (inclusive), format YYYY-MM-DD",
            "schema": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "name": "report_date_start",
            "in": "query",
            "description": "Filter by report date start (inclusive), format YYYY-MM-DD",
            "schema": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "name": "report_date_end",
            "in": "query",
            "description": "Filter by report date end (inclusive), format YYYY-MM-DD",
            "schema": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "name": "items_contain",
            "in": "query",
            "description": "Filter filings where the 'Items' field contains the specified text",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Number of results per page (default: 50, max: 200)",
            "schema": {
              "maximum": 200,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_number",
            "in": "query",
            "description": "Page number to retrieve (default: 1)",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Field to sort results by (default: AccessionNumber)",
            "schema": {
              "$ref": "#/components/schemas/DTO.FilingSortBy"
            }
          },
          {
            "name": "sort_order",
            "in": "query",
            "description": "Sort order (asc or desc, default: desc)",
            "schema": {
              "pattern": "^(asc|desc)$",
              "type": "string",
              "default": "desc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DTO.FilingMetadataDto"
                  }
                },
                "examples": {
                  "Example Filing Metadata": {
                    "value": {
                      "cik": 1234567890,
                      "accession_number": "0001140361-21-012345",
                      "filing_date": "2021-03-15",
                      "report_date": "2020-12-31",
                      "acceptance_date_time": "2021-03-15T16:30:00.0000000Z",
                      "act": "34",
                      "form": "10-K",
                      "file_number": "001-12345",
                      "film_number": "21654321",
                      "items": "1,1A,2",
                      "core_type": "10-K",
                      "size": 15000000,
                      "is_xbrl": true,
                      "is_inline_xbrl": true,
                      "primary_document": "form10k.htm",
                      "primary_doc_description": "Form 10-K Annual Report",
                      "source_file": "edgar/data/1234567890/0001140361-21-012345.txt"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/full-text": {
      "get": {
        "tags": [
          "Full Text Search"
        ],
        "summary": "Full-text search of SEC filing documents",
        "description": "Search across SEC filing documents with advanced filtering and sorting capabilities.\n\n### Available Sort Fields\n\nField Name | Description\n-----------|-------------\nAccessionNumber | SEC filing accession number\nFormType | Type of the filing document\nFilingDate | Date when filing was submitted\nCompanyName | Name of the company\nCIK | Central Index Key\nDocumentFilename | Name of the filing document\nDocumentDescription | Description of the document\n\n### Search Options\n\nOption | Description\n--------|-------------\ntext_contains | Keywords that must appear in the document\ntext_not_contain | Keywords that must not appear in the document\n\n### Date Format\nAll dates must be provided in YYYY-MM-DD format\n\n:::tip\nUse text_contains and text_not_contain with multiple keywords separated by commas for more precise searches\n:::\n\n:::note\nThe search is case-insensitive and supports partial word matches\n:::",
        "parameters": [
          {
            "name": "form_type",
            "in": "query",
            "description": "Filter by form type (e.g., \"10-K\", \"8-K\"). Multiple values can be comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filling_date_start",
            "in": "query",
            "description": "Filter by filling date start (inclusive), format YYYY-MM-DD",
            "schema": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "name": "filling_date_end",
            "in": "query",
            "description": "Filter by filling date end (inclusive), format YYYY-MM-DD",
            "schema": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "name": "text_contains",
            "in": "query",
            "description": "Keywords that the text must contain. Multiple values can be comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "text_not_contain",
            "in": "query",
            "description": "Keywords that the text must not contain. Multiple values can be comma-separated",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page_size",
            "in": "query",
            "description": "Number of results per page (default: 100)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page_number",
            "in": "query",
            "description": "Page number to retrieve (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "Field to sort by (default: AccessionNumber)",
            "schema": {
              "pattern": "^(AccessionNumber|FormType|FilingDate|CompanyName|CIK|DocumentFilename|DocumentDescription)$",
              "type": "string",
              "default": "AccessionNumber"
            }
          },
          {
            "name": "sort_order",
            "in": "query",
            "description": "Sort order (asc or desc). Defaults to asc",
            "schema": {
              "pattern": "^(asc|desc)$",
              "type": "string",
              "default": "asc"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DTO.SecFilingResultDto"
                  }
                },
                "examples": {
                  "Example SEC Filing Result": {
                    "value": {
                      "accession_number": "0001140361-21-012345",
                      "form_type": "10-K",
                      "filing_date": "2021-03-15",
                      "company_name": "Example Corporation",
                      "cik": 1234567890,
                      "document_filename": "form10k.htm",
                      "document_description": "Form 10-K Annual Report",
                      "source_file": "edgar/data/1234567890/0001140361-21-012345.txt"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/xbrl-converter": {
      "get": {
        "tags": [
          "XBRL Conversion"
        ],
        "summary": "Convert XBRL data to JSON format",
        "description": "Converts XBRL data to JSON format using one of three possible input methods.\n\n### Input Methods\n\n1. HTML URL (htm-url)\n   - URL of the filing ending with .htm or .html\n   - Both filing URLs and index page URLs are accepted\n   - Example: https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231.htm\n\n2. XBRL URL (xbrl-url)\n   - URL of the XBRL file ending with .xml\n   - Can be found in the dataFiles array from Query API\n   - Example: https://www.sec.gov/Archives/edgar/data/1318605/000156459021004599/tsla-10k_20201231_htm.xml\n\n3. Accession Number (accession-no)\n   - The SEC filing accession number\n   - Example: 0001564590-21-004599\n\n:::note\nOnly one of the three parameters should be provided. If multiple parameters are provided, the priority order is:\n1. htm-url\n2. xbrl-url\n3. accession-no\n:::\n\n### Supported Filing Types\n\n- Annual Reports (10-K)\n- Quarterly Reports (10-Q)\n- Current Reports (8-K)\n- Registration Statements (S-1, S-3)\n- Foreign Private Issuer Reports (20-F, 40-F)\n\n### Response Format\n\nThe API returns a JSON object containing:\n- Financial statements (Income Statement, Balance Sheet, Cash Flow Statement)\n- Accounting policies and footnotes\n- Company information\n- Filing metadata\n\n### Example Response\n```json\n{\n  \"StatementsOfIncome\": {\n    \"RevenueFromContractWithCustomerExcludingAssessedTax\": [\n      {\n        \"decimals\": \"-6\",\n        \"unitRef\": \"U_USD\",\n        \"period\": {\n          \"startDate\": \"2023-07-01\",\n          \"endDate\": \"2024-06-30\"\n        },\n        \"value\": \"245122000000\"\n      }\n    ]\n  }\n}\n```",
        "parameters": [
          {
            "name": "htm-url",
            "in": "query",
            "description": "URL of the filing ending with .htm or .html",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "xbrl-url",
            "in": "query",
            "description": "URL of the XBRL file ending with .xml",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accession-no",
            "in": "query",
            "description": "SEC filing accession number",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful conversion",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {}
                },
                "examples": {
                  "Example XBRL Filing Extract": {
                    "value": {
                      "CoverPage": {
                        "DocumentType": "10-K",
                        "DocumentAnnualReport": "true",
                        "DocumentPeriodEndDate": "2020-09-26",
                        "DocumentTransitionReport": "false",
                        "EntityFileNumber": "001-36743",
                        "EntityRegistrantName": "Apple Inc.",
                        "EntityIncorporationStateCountryCode": "CA",
                        "EntityTaxIdentificationNumber": "94-2404110",
                        "EntityAddressAddressLine1": "One Apple Park Way",
                        "EntityAddressCityOrTown": "Cupertino",
                        "EntityAddressStateOrProvince": "CA",
                        "EntityAddressPostalZipCode": "95014",
                        "CityAreaCode": "408",
                        "LocalPhoneNumber": "996-1010",
                        "Security12bTitle": [
                          {
                            "period": {
                              "startDate": "2019-09-29",
                              "endDate": "2020-09-26"
                            },
                            "segment": {
                              "dimension": "us-gaap:StatementClassOfStockAxis",
                              "value": "us-gaap:CommonStockMember"
                            },
                            "value": "Common Stock, $0.00001 par value per share"
                          }
                        ],
                        "TradingSymbol": {
                          "period": {
                            "startDate": "2019-09-29",
                            "endDate": "2020-09-26"
                          },
                          "segment": {
                            "dimension": "us-gaap:StatementClassOfStockAxis",
                            "value": "us-gaap:CommonStockMember"
                          },
                          "value": "AAPL"
                        },
                        "NoTradingSymbolFlag": [
                          {
                            "period": {
                              "startDate": "2019-09-29",
                              "endDate": "2020-09-26"
                            },
                            "segment": {
                              "dimension": "us-gaap:StatementClassOfStockAxis",
                              "value": "aapl:A1.000NotesDue2022Member"
                            },
                            "value": "true"
                          }
                        ],
                        "SecurityExchangeName": [
                          {
                            "period": {
                              "startDate": "2019-09-29",
                              "endDate": "2020-09-26"
                            },
                            "segment": {
                              "dimension": "us-gaap:StatementClassOfStockAxis",
                              "value": "us-gaap:CommonStockMember"
                            },
                            "value": "NASDAQ"
                          }
                        ],
                        "EntityWellKnownSeasonedIssuer": "Yes",
                        "EntityVoluntaryFilers": "No",
                        "EntityCurrentReportingStatus": "Yes",
                        "EntityInteractiveDataCurrent": "Yes",
                        "EntityFilerCategory": "Large Accelerated Filer",
                        "EntitySmallBusiness": "false",
                        "EntityEmergingGrowthCompany": "false",
                        "IcfrAuditorAttestationFlag": "true",
                        "EntityShellCompany": "false",
                        "EntityPublicFloat": {
                          "decimals": "-6",
                          "unitRef": "usd",
                          "period": {
                            "instant": "2020-03-27"
                          },
                          "value": "1070633000000"
                        },
                        "EntityCommonStockSharesOutstanding": {
                          "decimals": "-3",
                          "unitRef": "shares",
                          "period": {
                            "instant": "2020-10-16"
                          },
                          "value": "17001802000"
                        },
                        "AmendmentFlag": "false",
                        "DocumentFiscalYearFocus": "2020",
                        "DocumentFiscalPeriodFocus": "FY",
                        "EntityCentralIndexKey": "0000320193",
                        "CurrentFiscalYearEndDate": "--09-26"
                      },
                      "StatementsOfIncome": {
                        "RevenueFromContractWithCustomerExcludingAssessedTax": [
                          {
                            "decimals": "-6",
                            "unitRef": "usd",
                            "period": {
                              "startDate": "2019-09-29",
                              "endDate": "2020-09-26"
                            },
                            "segment": {
                              "dimension": "srt:ProductOrServiceAxis",
                              "value": "us-gaap:ProductMember"
                            },
                            "value": "220747000000"
                          }
                        ],
                        "CostOfGoodsAndServicesSold": [],
                        "GrossProfit": [],
                        "ResearchAndDevelopmentExpense": [],
                        "SellingGeneralAndAdministrativeExpense": [],
                        "OperatingExpenses": [],
                        "OperatingIncomeLoss": [],
                        "NonoperatingIncomeExpense": [],
                        "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": [],
                        "IncomeTaxExpenseBenefit": [],
                        "NetIncomeLoss": [],
                        "EarningsPerShareBasic": [],
                        "EarningsPerShareDiluted": [],
                        "WeightedAverageNumberOfSharesOutstandingBasic": [],
                        "WeightedAverageNumberOfDilutedSharesOutstanding": []
                      },
                      "StatementsOfComprehensiveIncome": {
                        "NetIncomeLoss": [],
                        "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": [],
                        "OtherComprehensiveIncomeLossDerivativeInstrumentGainLossbeforeReclassificationafterTax": {
                          "decimals": "-6",
                          "unitRef": "usd",
                          "period": {
                            "startDate": "2019-09-29",
                            "endDate": "2020-09-26"
                          },
                          "value": "79000000"
                        }
                      },
                      "BalanceSheets": {},
                      "BalanceSheetsParenthetical": {},
                      "StatementsOfShareholdersEquity": {},
                      "StatementsOfCashFlows": {},
                      "SummaryofSignificantAccountingPolicies": {},
                      "SummaryofSignificantAccountingPoliciesPolicies": {},
                      "SummaryofSignificantAccountingPoliciesTables": {},
                      "SummaryofSignificantAccountingPoliciesAdditionalInformationDetails": {},
                      "SummaryofSignificantAccountingPoliciesComputationofBasicandDilutedEarningsPerShareDetails": {},
                      "RevenueRecognition": {},
                      "RevenueRecognitionTables": {},
                      "RevenueRecognitionAdditionalInformationDetails": {},
                      "RevenueRecognitionDeferredRevenueExpectedTimingofRealizationDetails": {},
                      "RevenueRecognitionNetSalesDisaggregatedbySignificantProductsandServicesDetails": {},
                      "FinancialInstruments": {},
                      "FinancialInstrumentsTables": {},
                      "FinancialInstrumentsCashCashEquivalentsandMarketableSecuritiesDetails": {}
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request - check parameter format",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Filing or XBRL data not found"
          },
          "500": {
            "description": "Server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DTO.ExtractorType": {
        "enum": [
          "text",
          "html"
        ],
        "type": "string"
      },
      "DTO.FilingMetadataDto": {
        "type": "object",
        "properties": {
          "cik": {
            "type": "integer",
            "format": "int64"
          },
          "accession_number": {
            "type": "string",
            "nullable": true
          },
          "filing_date": {
            "type": "string",
            "format": "date"
          },
          "report_date": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "acceptance_date_time": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "act": {
            "type": "string",
            "nullable": true
          },
          "form": {
            "type": "string",
            "nullable": true
          },
          "file_number": {
            "type": "string",
            "nullable": true
          },
          "film_number": {
            "type": "string",
            "nullable": true
          },
          "items": {
            "type": "string",
            "nullable": true
          },
          "core_type": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "is_xbrl": {
            "type": "boolean",
            "nullable": true
          },
          "is_inline_xbrl": {
            "type": "boolean",
            "nullable": true
          },
          "primary_document": {
            "type": "string",
            "nullable": true
          },
          "primary_doc_description": {
            "type": "string",
            "nullable": true
          },
          "source_file": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the response for a single SEC filing metadata record.\nMaps fields from the edgar_submissions table."
      },
      "DTO.FilingSortBy": {
        "enum": [
          "AccessionNumber",
          "FilingDate",
          "ReportDate",
          "AcceptanceDateTime",
          "Size"
        ],
        "type": "string",
        "description": "Defines sorting options for the filing query."
      },
      "DTO.SecFilingResultDto": {
        "type": "object",
        "properties": {
          "accession_number": {
            "type": "string",
            "nullable": true
          },
          "form_type": {
            "type": "string",
            "nullable": true
          },
          "filing_date": {
            "type": "string",
            "format": "date"
          },
          "company_name": {
            "type": "string",
            "nullable": true
          },
          "cik": {
            "type": "integer",
            "format": "int64"
          },
          "document_filename": {
            "type": "string",
            "nullable": true
          },
          "document_description": {
            "type": "string",
            "nullable": true
          },
          "source_file": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "Mvc.ValidationProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": {}
      }
    },
    "securitySchemes": {
      "APIKey": {
        "type": "apiKey",
        "description": "API Key is required to access the endpoints",
        "name": "Authorization",
        "in": "header"
      },
      "JWT": {
        "type": "http",
        "description": "JWT Authorization header using the Bearer scheme. Example: \"Bearer {token}\"",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "APIKey": []
    },
    {
      "JWT": []
    }
  ],
  "tags": [
    {
      "name": "Extractor",
      "description": "Provides endpoints for extracting and classifying content from SEC filing HTML documents."
    },
    {
      "name": "Filings",
      "description": "Provides endpoints for querying historical SEC filing metadata.\nAllows users to filter filings based on criteria like CIK, form type, date ranges, etc."
    },
    {
      "name": "FullText",
      "description": "Provides endpoints for performing full-text searches on historical SEC filing documents.\nAllows users to query filings based on various criteria such as form type, date ranges, and text content."
    },
    {
      "name": "XbrlConverter",
      "description": "Provides endpoints for converting XBRL data to JSON format from various SEC filing sources."
    },
    {
      "name": "Download",
      "description": "Provides endpoints for downloading files directly from the SEC EDGAR archive.\nAllows users to download specific filing documents by accession number and filename."
    }
  ]
}