{"openapi":"3.1.0","info":{"title":"OpenInsider Adapter API","version":"0.1.0","description":"OpenInsider adapter contract for bluedoor.\n\nOpenInsider-backed insider-trading routes optimized for role, window, and cluster-buy analysis.\n\nOpenInsider source API for bluedoor Financial Data.\nInsider-trading source optimized for cluster-buy and role/window analysis.\nCoverage: Insider screener; Latest preset lists; Ticker insider history; Industry and insider views.\nGenerated from the live source contract and representative live API responses on 2026-06-07T01:30:59.456Z.","x-bluedoor-adapter":{"slug":"openinsider","source_id":"oifin","upstream":"openinsider.com","docs_url":"https://bluedoor.sh/adapters/openinsider/docs"}},"servers":[{"url":"https://api.bluedoor.sh/adapters/openinsider","description":"bluedoor adapter namespace"},{"url":"https://api.oifin.bluedoor.sh","description":"Current source API host"}],"externalDocs":{"description":"OpenInsider adapter docs","url":"https://bluedoor.sh/adapters/openinsider/docs"},"tags":[],"paths":{"/v1/screener":{"get":{"summary":"Screener","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"date_range","in":"query","required":false,"schema":{"type":"string","enum":["1d","3d","7d","14d","30d","60d","90d","180d","365d"]}},{"name":"transaction_types","in":"query","required":false,"schema":{"type":"string"},"description":"CSV of P,S,A,D,G,F,M,X,C,W"},{"name":"insider_roles","in":"query","required":false,"schema":{"type":"string"}},{"name":"value_min","in":"query","required":false,"schema":{"type":"number"}},{"name":"value_max","in":"query","required":false,"schema":{"type":"number"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["filing_date","trade_date","ticker","company","insider","title","trade_type","price","qty","owned","delta_own","value"]}},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_screenerResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"results":[{"filing_date":"2026-06-05 21:45:45","trade_date":"2026-06-05","ticker":"WHF","company_name":"Whitehorse Finance, Inc.","industry":null,"insider_name":"Bolduc John","title":"Dir","trade_type":null,"price":6.82,"qty":14280,"owned":302630,"delta_own_pct":5,"value":97390},{"filing_date":"2026-06-05 21:34:12","trade_date":"2026-06-03","ticker":"DK","company_name":"Delek Us Holdings, Inc.","industry":null,"insider_name":"Sutil Vicky","title":"Dir","trade_type":null,"price":48,"qty":-1871,"owned":29368,"delta_own_pct":-6,"value":-89808},{"filing_date":"2026-06-05 21:05:05","trade_date":"2026-06-04","ticker":"NTRA","company_name":"Natera, Inc.","industry":null,"insider_name":"Chapman Steven Leonard","title":"CEO, Pres","trade_type":null,"price":221.03,"qty":-41124,"owned":108743,"delta_own_pct":-27,"value":-9089776}],"pagination":{"page":1,"per_page":100,"total_estimate":100},"table_variant":"screener","columns":["x","filing_date","trade_date"]},"meta":{"source":"openinsider","source_url":"http://openinsider.com/screener","route":"screener","generated_at":"2026-06-07T01:35:40.452Z","cache":{"hit":false,"age_s":0},"request_id":"d374e53b-319c-4eae-a4f8-e56e770533f7"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_screener","description":"Returns screener with source-native fields and identifiers.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/screener","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:40.739Z"}},"/v1/latest/{preset}":{"get":{"summary":"Latest trades","parameters":[{"name":"preset","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_latest_presetResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"results":[{"filing_date":"2026-06-05 21:45:45","trade_date":"2026-06-05","ticker":"WHF","company_name":"Whitehorse Finance, Inc.","industry":null,"insider_name":"Bolduc John","title":"Dir","trade_type":null,"price":6.82,"qty":14280,"owned":302630,"delta_own_pct":5,"value":97390},{"filing_date":"2026-06-05 21:34:12","trade_date":"2026-06-03","ticker":"DK","company_name":"Delek Us Holdings, Inc.","industry":null,"insider_name":"Sutil Vicky","title":"Dir","trade_type":null,"price":48,"qty":-1871,"owned":29368,"delta_own_pct":-6,"value":-89808},{"filing_date":"2026-06-05 21:05:05","trade_date":"2026-06-04","ticker":"NTRA","company_name":"Natera, Inc.","industry":null,"insider_name":"Chapman Steven Leonard","title":"CEO, Pres","trade_type":null,"price":221.03,"qty":-41124,"owned":108743,"delta_own_pct":-27,"value":-9089776}],"pagination":{"page":1,"per_page":100,"total_estimate":100},"table_variant":"screener","columns":["x","filing_date","trade_date"]},"meta":{"source":"openinsider","source_url":"http://openinsider.com/latest-insider-trading","route":"latest_preset","generated_at":"2026-06-07T01:35:41.287Z","cache":{"hit":false,"age_s":0},"request_id":"2ccfcfd8-7745-4403-8542-ca7e74916de0"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_latest_preset","description":"Returns latest trades with source-native fields and identifiers.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/latest/insider-trading","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:41.566Z"}},"/v1/pulse/daily-csv":{"get":{"summary":"Daily pulse CSV","parameters":[{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_pulse_daily_csvResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"header":["Date","Purchases","Sales"],"delimiter":"tab","rows":[{"date_raw":"000000","date":null,"purchases":7,"sales":4,"purchase_value_k":558,"sale_value_k":5050},{"date_raw":"030728","date":"2003-07-28","purchases":76,"sales":184,"purchase_value_k":1960,"sale_value_k":137626},{"date_raw":"030729","date":"2003-07-29","purchases":70,"sales":272,"purchase_value_k":6576,"sale_value_k":1548186}],"row_count":5719,"first_date":null,"last_date":"2026-06-05"},"meta":{"source":"openinsider","source_url":"http://openinsider.com/ps_data.csv","route":"daily_pulse","generated_at":"2026-06-07T00:13:54.824Z","cache":{"hit":true,"state":"kv","age_s":4907},"request_id":"d1df7a7c-7dca-43e3-b972-12448aca3f74"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_pulse_daily_csv","description":"Returns daily pulse CSV with source-native fields and identifiers.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/pulse/daily-csv","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:42.087Z"}},"/v1/industry/{sic}/trades":{"get":{"summary":"Industry trades","parameters":[{"name":"sic","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_industry_sic_tradesResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"results":[{"filing_date":"2026-06-05 18:22:23","trade_date":"2026-06-03","ticker":"DELL","company_name":"Dell Technologies Inc.","industry":null,"insider_name":"Silver Lake Partners Iv, L.P.","title":"Dir, 10%","trade_type":null,"price":422.98,"qty":-84365,"owned":1593322,"delta_own_pct":-5,"value":-35684700},{"filing_date":"2026-06-05 18:21:44","trade_date":"2026-06-03","ticker":"DELL","company_name":"Dell Technologies Inc.","industry":null,"insider_name":"Silver Lake Technology Investors V, L.P.","title":"Dir, 10%","trade_type":null,"price":422.97,"qty":-609,"owned":1593322,"delta_own_pct":0,"value":-257591},{"filing_date":"2026-06-05 18:19:26","trade_date":"2026-06-03","ticker":"DELL","company_name":"Dell Technologies Inc.","industry":null,"insider_name":"Silver Lake Technology Investors Iv, L.P.","title":"Dir, 10%","trade_type":null,"price":422.98,"qty":-1351,"owned":1593322,"delta_own_pct":0,"value":-571445}],"pagination":{"page":1,"per_page":100,"total_estimate":100},"table_variant":"screener","columns":["x","filing_date","trade_date"]},"meta":{"source":"openinsider","source_url":"http://openinsider.com/industry/anon/3571","route":"industry_trades","generated_at":"2026-06-07T01:06:08.540Z","cache":{"hit":true,"state":"kv","age_s":1773},"request_id":"233554c3-c582-4e66-a499-75b41df49d86"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_industry_sic_trades","description":"Returns industry trades with source-native fields and identifiers.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/industry/3571/trades","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:42.478Z"}},"/v1/insider/{cik}/trades":{"get":{"summary":"Insider trades","parameters":[{"name":"cik","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_insider_cik_tradesResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"results":[{"filing_date":"2026-04-14 16:25:45","trade_date":"2026-04-10","ticker":"NKE","company_name":null,"industry":null,"insider_name":"Cook Timothy D","title":"Dir","trade_type":null,"price":42.43,"qty":25000,"owned":130480,"delta_own_pct":24,"value":1060750},{"filing_date":"2026-04-03 18:30:41","trade_date":"2026-04-02","ticker":"AAPL","company_name":null,"industry":null,"insider_name":"Cook Timothy D","title":"CEO","trade_type":null,"price":254.23,"qty":-64949,"owned":3280418,"delta_own_pct":-2,"value":-16512198},{"filing_date":"2025-12-23 16:25:32","trade_date":"2025-12-22","ticker":"NKE","company_name":null,"industry":null,"insider_name":"Cook Timothy D","title":"Dir","trade_type":null,"price":58.97,"qty":50000,"owned":105480,"delta_own_pct":90,"value":2948500}],"pagination":{"page":1,"per_page":6,"total_estimate":6},"table_variant":"insider","columns":["x","filing_date","trade_date"]},"meta":{"source":"openinsider","source_url":"http://openinsider.com/insider/anon/1214156","route":"insider_trades","generated_at":"2026-06-07T01:06:09.336Z","cache":{"hit":true,"state":"kv","age_s":1773},"request_id":"122a4804-a1f4-4e1c-9ea2-314136ded9d7"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_insider_cik_trades","description":"Returns insider trades with insider, issuer, transaction, and filing fields where available.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/insider/1214156/trades","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:42.857Z"}},"/v1/ticker/{symbol}/insiders":{"get":{"summary":"Ticker insiders","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_ticker_symbol_insidersResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"results":[{"filing_date":"2026-05-29 18:30:27","trade_date":"2026-05-27","ticker":"AAPL","company_name":null,"industry":null,"insider_name":"Levinson Arthur D","title":"Dir","trade_type":null,"price":311.02,"qty":-50000,"owned":3755576,"delta_own_pct":-1,"value":-15551000},{"filing_date":"2026-05-12 18:31:29","trade_date":"2026-05-08","ticker":"AAPL","company_name":null,"industry":null,"insider_name":"Borders Ben","title":"Principal Accounting Officer","trade_type":null,"price":290,"qty":-1274,"owned":38713,"delta_own_pct":-3,"value":-369460},{"filing_date":"2026-05-08 18:30:09","trade_date":"2026-05-06","ticker":"AAPL","company_name":null,"industry":null,"insider_name":"Levinson Arthur D","title":"Dir","trade_type":null,"price":284.76,"qty":-250000,"owned":3870576,"delta_own_pct":-6,"value":-71189722}],"pagination":{"page":1,"per_page":30,"total_estimate":30},"table_variant":"insider","columns":["x","filing_date","trade_date"]},"meta":{"source":"openinsider","source_url":"http://openinsider.com/AAPL","route":"ticker_insiders","generated_at":"2026-06-07T01:28:49.691Z","cache":{"hit":true,"state":"kv","age_s":413},"request_id":"601109e5-cf00-438c-be51-6c4f55dc80a4"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_ticker_symbol_insiders","description":"Returns ticker insiders with source-native fields and identifiers.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/ticker/AAPL/insiders","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:43.259Z"}},"/v1/top/{role}/{direction}/{window}":{"get":{"summary":"Top trades","parameters":[{"name":"window","in":"path","required":true,"schema":{"type":"string"}},{"name":"direction","in":"path","required":true,"schema":{"type":"string"}},{"name":"role","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"x-oifin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"OifinApiKey":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/oifin_get_top_role_direction_windowResponse"},"examples":{"live":{"summary":"Live response","value":{"ok":true,"data":{"results":[{"filing_date":"2026-06-05 20:49:47","trade_date":"2026-06-03","ticker":"PAX","company_name":"Patria Investments Ltd","industry":null,"insider_name":"Neto Olimpio Matarazzo","title":"Dir","trade_type":null,"price":11.29,"qty":100000,"owned":660724,"delta_own_pct":18,"value":1129250},{"filing_date":"2026-06-05 17:10:48","trade_date":"2026-06-03","ticker":"LOGC","company_name":"Contextlogic Holdings Inc.","industry":null,"insider_name":"Levy Paul S","title":"Dir","trade_type":null,"price":9.05,"qty":99428,"owned":625186,"delta_own_pct":19,"value":899618},{"filing_date":"2026-06-05 18:46:51","trade_date":"2026-06-04","ticker":"BH","company_name":"Biglari Holdings Inc.","industry":null,"insider_name":"Biglari, Sardar","title":"COB, CEO, 10%","trade_type":null,"price":289.2,"qty":2278,"owned":1626713,"delta_own_pct":0,"value":658793}],"pagination":{"page":1,"per_page":48,"total_estimate":48},"table_variant":"screener","columns":["x","filing_date","trade_date"]},"meta":{"source":"openinsider","source_url":"http://openinsider.com/top-insider-purchases-of-the-day","route":"top_role_direction_window","generated_at":"2026-06-07T01:35:43.792Z","cache":{"hit":false,"age_s":0},"request_id":"551f75b6-2444-4b08-84a4-3cd1eff3f004"}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"operationId":"oifin_get_top_role_direction_window","description":"Returns top trades with source-native fields and identifiers.","x-source-api":"oifin","x-source-name":"OpenInsider","x-source-upstream":"openinsider.com","x-docs-example-url":"https://api.oifin.bluedoor.sh/v1/top/insider/purchases/day","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:35:44.062Z"}}},"components":{"securitySchemes":{"ContactEmail":{"type":"apiKey","in":"header","name":"X-Oifin-Contact"},"BearerAuth":{"type":"http","scheme":"bearer","description":"API keys are available by emailing sam@bluedoor.sh."},"OifinApiKey":{"type":"apiKey","in":"header","name":"X-Oifin-Key"}},"schemas":{"ErrorEnvelope":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":false},"error":{"type":"object","additionalProperties":true,"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"meta":{"type":"object","additionalProperties":true}}},"oifin_get_screenerResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"results":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"filing_date":{"type":"string"},"trade_date":{"type":"string"},"ticker":{"type":"string"},"company_name":{"type":"string"},"industry":{"nullable":true},"insider_name":{"type":"string"},"title":{"type":"string"},"trade_type":{"nullable":true},"price":{"oneOf":[{"type":"number"},{"type":"integer"}]},"qty":{"type":"integer"},"owned":{"type":"integer"},"delta_own_pct":{"type":"integer"},"value":{"type":"integer"}},"required":["company_name","delta_own_pct","filing_date","industry","insider_name","owned","price","qty","ticker","title","trade_date","trade_type","value"]}},"pagination":{"type":"object","additionalProperties":true,"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_estimate":{"type":"integer"}},"required":["page","per_page","total_estimate"]},"table_variant":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["columns","pagination","results","table_variant"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"age_s":{"type":"integer"}},"required":["age_s","hit"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]},"oifin_get_latest_presetResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"results":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"filing_date":{"type":"string"},"trade_date":{"type":"string"},"ticker":{"type":"string"},"company_name":{"type":"string"},"industry":{"nullable":true},"insider_name":{"type":"string"},"title":{"type":"string"},"trade_type":{"nullable":true},"price":{"oneOf":[{"type":"number"},{"type":"integer"}]},"qty":{"type":"integer"},"owned":{"type":"integer"},"delta_own_pct":{"type":"integer"},"value":{"type":"integer"}},"required":["company_name","delta_own_pct","filing_date","industry","insider_name","owned","price","qty","ticker","title","trade_date","trade_type","value"]}},"pagination":{"type":"object","additionalProperties":true,"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_estimate":{"type":"integer"}},"required":["page","per_page","total_estimate"]},"table_variant":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["columns","pagination","results","table_variant"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"age_s":{"type":"integer"}},"required":["age_s","hit"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]},"oifin_get_pulse_daily_csvResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"header":{"type":"array","items":{"type":"string"}},"delimiter":{"type":"string"},"rows":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"date_raw":{"type":"string"},"date":{"oneOf":[{"nullable":true},{"type":"string"}]},"purchases":{"type":"integer"},"sales":{"type":"integer"},"purchase_value_k":{"type":"integer"},"sale_value_k":{"type":"integer"}},"required":["date","date_raw","purchase_value_k","purchases","sale_value_k","sales"]}},"row_count":{"type":"integer"},"first_date":{"nullable":true},"last_date":{"type":"string"}},"required":["delimiter","first_date","header","last_date","row_count","rows"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"state":{"type":"string"},"age_s":{"type":"integer"}},"required":["age_s","hit","state"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]},"oifin_get_industry_sic_tradesResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"results":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"filing_date":{"type":"string"},"trade_date":{"type":"string"},"ticker":{"type":"string"},"company_name":{"type":"string"},"industry":{"nullable":true},"insider_name":{"type":"string"},"title":{"type":"string"},"trade_type":{"nullable":true},"price":{"oneOf":[{"type":"number"},{"type":"integer"}]},"qty":{"type":"integer"},"owned":{"type":"integer"},"delta_own_pct":{"type":"integer"},"value":{"type":"integer"}},"required":["company_name","delta_own_pct","filing_date","industry","insider_name","owned","price","qty","ticker","title","trade_date","trade_type","value"]}},"pagination":{"type":"object","additionalProperties":true,"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_estimate":{"type":"integer"}},"required":["page","per_page","total_estimate"]},"table_variant":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["columns","pagination","results","table_variant"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"state":{"type":"string"},"age_s":{"type":"integer"}},"required":["age_s","hit","state"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]},"oifin_get_insider_cik_tradesResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"results":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"filing_date":{"type":"string"},"trade_date":{"type":"string"},"ticker":{"type":"string"},"company_name":{"nullable":true},"industry":{"nullable":true},"insider_name":{"type":"string"},"title":{"type":"string"},"trade_type":{"nullable":true},"price":{"type":"number"},"qty":{"type":"integer"},"owned":{"type":"integer"},"delta_own_pct":{"type":"integer"},"value":{"type":"integer"}},"required":["company_name","delta_own_pct","filing_date","industry","insider_name","owned","price","qty","ticker","title","trade_date","trade_type","value"]}},"pagination":{"type":"object","additionalProperties":true,"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_estimate":{"type":"integer"}},"required":["page","per_page","total_estimate"]},"table_variant":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["columns","pagination","results","table_variant"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"state":{"type":"string"},"age_s":{"type":"integer"}},"required":["age_s","hit","state"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]},"oifin_get_ticker_symbol_insidersResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"results":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"filing_date":{"type":"string"},"trade_date":{"type":"string"},"ticker":{"type":"string"},"company_name":{"nullable":true},"industry":{"nullable":true},"insider_name":{"type":"string"},"title":{"type":"string"},"trade_type":{"nullable":true},"price":{"oneOf":[{"type":"number"},{"type":"integer"}]},"qty":{"type":"integer"},"owned":{"type":"integer"},"delta_own_pct":{"type":"integer"},"value":{"type":"integer"}},"required":["company_name","delta_own_pct","filing_date","industry","insider_name","owned","price","qty","ticker","title","trade_date","trade_type","value"]}},"pagination":{"type":"object","additionalProperties":true,"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_estimate":{"type":"integer"}},"required":["page","per_page","total_estimate"]},"table_variant":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["columns","pagination","results","table_variant"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"state":{"type":"string"},"age_s":{"type":"integer"}},"required":["age_s","hit","state"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]},"oifin_get_top_role_direction_windowResponse":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"data":{"type":"object","additionalProperties":true,"properties":{"results":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"filing_date":{"type":"string"},"trade_date":{"type":"string"},"ticker":{"type":"string"},"company_name":{"type":"string"},"industry":{"nullable":true},"insider_name":{"type":"string"},"title":{"type":"string"},"trade_type":{"nullable":true},"price":{"oneOf":[{"type":"number"},{"type":"integer"}]},"qty":{"type":"integer"},"owned":{"type":"integer"},"delta_own_pct":{"oneOf":[{"type":"integer"},{"nullable":true}]},"value":{"type":"integer"}},"required":["company_name","delta_own_pct","filing_date","industry","insider_name","owned","price","qty","ticker","title","trade_date","trade_type","value"]}},"pagination":{"type":"object","additionalProperties":true,"properties":{"page":{"type":"integer"},"per_page":{"type":"integer"},"total_estimate":{"type":"integer"}},"required":["page","per_page","total_estimate"]},"table_variant":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["columns","pagination","results","table_variant"]},"meta":{"type":"object","additionalProperties":true,"properties":{"source":{"type":"string"},"source_url":{"type":"string"},"route":{"type":"string"},"generated_at":{"type":"string"},"cache":{"type":"object","additionalProperties":true,"properties":{"hit":{"type":"boolean"},"age_s":{"type":"integer"}},"required":["age_s","hit"]},"request_id":{"type":"string"}},"required":["cache","generated_at","request_id","route","source","source_url"]}},"required":["data","meta","ok"]}}},"x-generated-at":"2026-06-07T01:30:59.456Z","x-source-api":"oifin","x-source-base-url":"https://api.oifin.bluedoor.sh"}