From d082475ac80588b944a569d9d665165d4046f0eb Mon Sep 17 00:00:00 2001 From: Dan Romano <1087791+krautrocker@users.noreply.github.com> Date: Wed, 1 Oct 2025 12:11:40 -0400 Subject: [PATCH] - Initial release, connector certification package included --- .../LegiScan/ConnectorPackage.zip | Bin 0 -> 22908 bytes .../LegiScan/README.md | 71 + .../LegiScan/apiDefinition.swagger.json | 2785 +++++++++++++++++ .../LegiScan/apiProperties.json | 9 + 4 files changed, 2865 insertions(+) create mode 100644 independent-publisher-connectors/LegiScan/ConnectorPackage.zip create mode 100644 independent-publisher-connectors/LegiScan/README.md create mode 100644 independent-publisher-connectors/LegiScan/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/LegiScan/apiProperties.json diff --git a/independent-publisher-connectors/LegiScan/ConnectorPackage.zip b/independent-publisher-connectors/LegiScan/ConnectorPackage.zip new file mode 100644 index 0000000000000000000000000000000000000000..f696f351ac1c1273501fad4a8a8ba410623e7218 GIT binary patch literal 22908 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 1900." + }, + { + "name": "page", + "in": "query", + "type": "integer", + "required": false, + "default": 1, + "x-ms-summary": "Page Number", + "description": "Result page number to return." + } + ], + "responses": { + "200": { + "description": "Paginated search results", + "schema": { + "$ref": "#/definitions/SearchResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getSearchRaw": { + "get": { + "operationId": "GetSearchRawResults", + "summary": "Get simplified search results for automated monitoring", + "description": "Retrieve results from the full text search engine. 2000 results. Performs a full-text search with simplified result structure, returning up to 2000 records at a time. This endpoint is optimized for keyword monitoring across states or sessions.", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "description": "The LegiScan operation name", + "default": "getSearchRaw", + "enum": [ + "getSearchRaw" + ], + "x-ms-summary": "Operation" + }, + { + "name": "state", + "in": "query", + "type": "string", + "required": false, + "x-ms-summary": "State Abbreviation", + "description": "State abbreviation (e.g. 'TX') or 'ALL' for all states. Optional if session ID is used." + }, + { + "name": "id", + "in": "query", + "type": "integer", + "required": false, + "x-ms-summary": "Session ID", + "description": "Limit search to a specific session_id." + }, + { + "name": "query", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "Search Query", + "description": "Full text query string, URL-encoded." + }, + { + "name": "year", + "in": "query", + "type": "integer", + "required": false, + "default": 2, + "x-ms-summary": "Year Filter", + "description": "1 = all, 2 = current, 3 = recent, 4 = prior, or a year > 1900." + }, + { + "name": "page", + "in": "query", + "type": "integer", + "required": false, + "default": 1, + "x-ms-summary": "Page Number", + "description": "Page of results to return (up to 2000 records per page)." + } + ], + "responses": { + "200": { + "description": "Simplified paginated search results", + "schema": { + "$ref": "#/definitions/SearchRawResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getDatasetList": { + "get": { + "operationId": "GetDatasetList", + "summary": "Get list of available session datasets", + "description": "Retrieve list of available dataset snapshots", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "description": "The LegiScan operation name", + "default": "getDatasetList", + "enum": [ + "getDatasetList" + ], + "x-ms-summary": "Operation" + }, + { + "name": "state", + "in": "query", + "type": "string", + "required": false, + "x-ms-summary": "State Abbreviation", + "description": "Optional state filter for datasets." + }, + { + "name": "year", + "in": "query", + "type": "integer", + "required": false, + "x-ms-summary": "Year Filter", + "description": "Optional year filter for datasets." + } + ], + "responses": { + "200": { + "description": "List of available datasets", + "schema": { + "$ref": "#/definitions/DatasetListResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getDataset": { + "get": { + "operationId": "GetDataset", + "summary": "Get dataset archive for a legislative session", + "description": "Retrieve an individual dataset for a specific session_id", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "description": "The LegiScan operation name", + "default": "getDataset", + "enum": [ + "getDataset" + ], + "x-ms-summary": "Operation" + }, + { + "name": "id", + "in": "query", + "type": "integer", + "required": true, + "x-ms-summary": "Session ID", + "description": "The session_id of the dataset to retrieve." + }, + { + "name": "access_key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "Access Key", + "description": "The access_key from the corresponding getDatasetList response." + }, + { + "name": "format", + "in": "query", + "type": "string", + "required": false, + "default": "json", + "enum": [ + "json", + "csv" + ], + "x-ms-summary": "Format", + "description": "Optional format of the files inside the ZIP archive. Defaults to JSON." + } + ], + "responses": { + "200": { + "description": "ZIP archive response", + "schema": { + "$ref": "#/definitions/DatasetArchiveResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getDatasetRaw": { + "get": { + "operationId": "GetDatasetRaw", + "summary": "Get raw ZIP dataset for a session", + "description": "Returns a raw ZIP archive containing all bills, votes, and people data for a specific session. This is a binary stream suitable for file download.\n", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "description": "The LegiScan operation name", + "default": "getDatasetRaw", + "enum": [ + "getDatasetRaw" + ], + "x-ms-summary": "Operation" + }, + { + "name": "id", + "in": "query", + "type": "integer", + "required": true, + "x-ms-summary": "Session ID", + "description": "The session_id of the dataset to retrieve." + }, + { + "name": "access_key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "Access Key", + "description": "The access_key from the corresponding getDatasetList response." + }, + { + "name": "format", + "in": "query", + "type": "string", + "required": false, + "default": "json", + "enum": [ + "json", + "csv" + ], + "x-ms-summary": "Format", + "description": "Optional format for the contents of the ZIP archive (json or csv)." + } + ], + "responses": { + "200": { + "description": "ZIP archive returned as binary stream", + "schema": { + "type": "string", + "format": "binary" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getSessionPeople": { + "get": { + "operationId": "GetSessionPeople", + "summary": "Get people records active in a session", + "description": "Retrieve list of people active in a specific session_id", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "default": "getSessionPeople", + "enum": [ + "getSessionPeople" + ], + "x-ms-summary": "Operation", + "description": "The LegiScan operation name." + }, + { + "name": "id", + "in": "query", + "type": "integer", + "required": true, + "x-ms-summary": "Session ID", + "description": "The session_id for which to retrieve active people." + } + ], + "responses": { + "200": { + "description": "People records and session info for a given session", + "schema": { + "$ref": "#/definitions/SessionPeopleResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getSponsoredList": { + "get": { + "operationId": "GetSponsoredList", + "summary": "Get sponsored bills by legislator", + "description": "Retrieve list of bills sponsored by an individual people_id", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "default": "getSponsoredList", + "enum": [ + "getSponsoredList" + ], + "x-ms-summary": "Operation", + "description": "The LegiScan operation name." + }, + { + "name": "id", + "in": "query", + "type": "integer", + "required": true, + "x-ms-summary": "People ID", + "description": "The legislator’s people_id to retrieve sponsored bills for." + } + ], + "responses": { + "200": { + "description": "List of sponsored bills with sponsor and session metadata", + "schema": { + "$ref": "#/definitions/SponsoredListResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getMonitorList": { + "get": { + "operationId": "GetMonitorList", + "summary": "Get GAITS monitor list", + "description": "Retrieve bills from GAITS monitor list", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "default": "getMonitorList", + "enum": [ + "getMonitorList" + ], + "x-ms-summary": "Operation", + "description": "The LegiScan operation name." + }, + { + "name": "record", + "in": "query", + "type": "string", + "required": false, + "default": "current", + "x-ms-summary": "Record Filter", + "description": "Filter to return current or archived monitors. Values: `current`, `archived`, or year (e.g., `2019`)\n" + } + ], + "responses": { + "200": { + "description": "GAITS monitor list containing bill metadata", + "schema": { + "$ref": "#/definitions/MonitorListResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/getMonitorListRaw": { + "get": { + "operationId": "GetMonitorListRaw", + "summary": "Get GAITS monitor list (Raw)", + "description": "Retrieve bills from GAITS monitor list for change_hash detection", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "default": "getMonitorListRaw", + "enum": [ + "getMonitorListRaw" + ], + "x-ms-summary": "Operation", + "description": "The LegiScan operation name." + }, + { + "name": "record", + "in": "query", + "type": "string", + "required": false, + "default": "current", + "x-ms-summary": "Record Filter", + "description": "Filter to return current or archived monitors. Values: `current`, `archived`, or year (e.g., `2019`)\n" + } + ], + "responses": { + "200": { + "description": "Raw monitor list containing bill change hash data", + "schema": { + "$ref": "#/definitions/MonitorListRawResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-visibility": "important" + } + }, + "/setMonitor": { + "get": { + "operationId": "SetMonitor", + "summary": "Modify monitor list for specified bills", + "description": "Add or remove bills from monitor/ignore lists. Use monitor, remove, set as action; stance options are watch, support, oppose.", + "parameters": [ + { + "name": "key", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "API Key", + "description": "Your API key for accessing LegiScan." + }, + { + "name": "op", + "in": "query", + "type": "string", + "required": true, + "default": "setMonitor", + "enum": [ + "setMonitor" + ], + "x-ms-summary": "Operation", + "description": "The LegiScan operation name." + }, + { + "name": "action", + "in": "query", + "type": "string", + "required": true, + "enum": [ + "monitor", + "remove", + "set" + ], + "x-ms-summary": "Action", + "description": "The action to perform: `monitor` adds the bills, `remove` deletes them from the list, `set` updates the stance.\n" + }, + { + "name": "list", + "in": "query", + "type": "string", + "required": true, + "x-ms-summary": "Bill ID List", + "description": "Comma-separated list of `bill_id` values to modify." + }, + { + "name": "stance", + "in": "query", + "type": "string", + "required": false, + "enum": [ + "watch", + "support", + "oppose" + ], + "default": "watch", + "x-ms-summary": "Stance", + "description": "Stance to assign to the bills - `watch`, `support`, or `oppose`." + } + ], + "responses": { + "200": { + "description": "Monitor action result per bill", + "schema": { + "$ref": "#/definitions/SetMonitorResponse" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "401": { + "description": "Unauthorized", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not Found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too Many Requests (Rate Limit Exceeded)", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "GetSessionListResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "session_id": { + "type": "integer", + "format": "int32" + }, + "session_title": { + "type": "string" + }, + "session_name": { + "type": "string" + }, + "year_start": { + "type": "integer", + "format": "int32" + }, + "year_end": { + "type": "integer", + "format": "int32" + }, + "special": { + "type": "integer", + "format": "int32" + }, + "dataset_hash": { + "type": "string" + } + } + } + } + } + }, + "MasterListResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "session": { + "type": "object", + "properties": { + "session_id": { + "type": "integer" + }, + "state_id": { + "type": "integer" + }, + "year_start": { + "type": "integer" + }, + "year_end": { + "type": "integer" + }, + "prefile": { + "type": "integer" + }, + "sine_die": { + "type": "integer" + }, + "prior": { + "type": "integer" + }, + "special": { + "type": "integer" + }, + "session_tag": { + "type": "string" + }, + "session_title": { + "type": "string" + }, + "session_name": { + "type": "string" + } + } + }, + "masterlist": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "bill_id": { + "type": "integer", + "format": "int32" + }, + "number": { + "type": "string" + }, + "change_hash": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status_date": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "last_action_date": { + "type": "string" + }, + "last_action": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + } + } + } + } + } + }, + "MasterListRawResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "masterlist": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "bill_id": { + "type": "integer", + "format": "int32" + }, + "number": { + "type": "string" + }, + "change_hash": { + "type": "string" + } + } + } + } + } + }, + "GetBillResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "bill": { + "type": "object", + "properties": { + "bill_id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "url": { + "type": "string" + }, + "change_hash": { + "type": "string" + } + } + } + } + }, + "BillTextResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "text": { + "type": "object", + "properties": { + "doc_id": { + "type": "integer", + "format": "int32" + }, + "bill_id": { + "type": "integer", + "format": "int32" + }, + "date": { + "type": "string" + }, + "type": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "text_size": { + "type": "integer", + "format": "int32" + }, + "text_hash": { + "type": "string" + }, + "doc": { + "type": "string" + } + } + } + } + }, + "BillAmendmentResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "amendment": { + "type": "object", + "properties": { + "amendment_id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "amendment_size": { + "type": "integer", + "format": "int32" + }, + "amendment_hash": { + "type": "string" + } + } + } + } + }, + "SupplementResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "supplement": { + "type": "object", + "properties": { + "supplement_id": { + "type": "integer", + "format": "int32" + }, + "bill_id": { + "type": "integer", + "format": "int32" + }, + "date": { + "type": "string" + }, + "type_id": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "mime_id": { + "type": "integer", + "format": "int32" + }, + "supplement_size": { + "type": "integer", + "format": "int32" + }, + "supplement_hash": { + "type": "string" + } + } + } + } + }, + "RollCallResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "roll_call": { + "type": "object", + "properties": { + "roll_call_id": { + "type": "integer", + "format": "int32" + }, + "bill_id": { + "type": "integer", + "format": "int32" + }, + "date": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "yea": { + "type": "integer", + "format": "int32" + }, + "nay": { + "type": "integer", + "format": "int32" + }, + "nv": { + "type": "integer", + "format": "int32" + }, + "absent": { + "type": "integer", + "format": "int32" + }, + "total": { + "type": "integer", + "format": "int32" + }, + "passed": { + "type": "integer", + "format": "int32" + }, + "chamber": { + "type": "string" + }, + "chamber_id": { + "type": "integer", + "format": "int32" + }, + "votes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "people_id": { + "type": "integer", + "format": "int32" + }, + "vote_id": { + "type": "integer", + "format": "int32" + }, + "vote_text": { + "type": "string" + } + } + } + } + } + } + } + }, + "PersonResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "person": { + "type": "object", + "properties": { + "people_id": { + "type": "integer", + "format": "int32" + }, + "person_hash": { + "type": "string" + }, + "state_id": { + "type": "integer", + "format": "int32" + }, + "party_id": { + "type": "string" + }, + "party": { + "type": "string" + }, + "role_id": { + "type": "integer", + "format": "int32" + }, + "role": { + "type": "string" + }, + "name": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "middle_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "suffix": { + "type": "string" + }, + "nickname": { + "type": "string" + }, + "district": { + "type": "string" + }, + "ftm_eid": { + "type": "integer", + "format": "int32" + }, + "votesmart_id": { + "type": "integer", + "format": "int32" + }, + "opensecrets_id": { + "type": "string" + }, + "knowwho_pid": { + "type": "integer", + "format": "int32" + }, + "ballotpedia": { + "type": "string" + }, + "committee_sponsor": { + "type": "integer", + "format": "int32" + }, + "committee_id": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "SearchResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "searchresult": { + "type": "object", + "properties": { + "summary": { + "type": "object", + "properties": { + "page": { + "type": "string" + }, + "range": { + "type": "string" + }, + "relevancy": { + "type": "string" + }, + "count": { + "type": "integer", + "format": "int32" + }, + "page_current": { + "type": "string" + }, + "page_total": { + "type": "integer", + "format": "int32" + } + } + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "relevance": { + "type": "integer" + }, + "state": { + "type": "string" + }, + "bill_number": { + "type": "string" + }, + "bill_id": { + "type": "integer", + "format": "int32" + }, + "change_hash": { + "type": "string" + }, + "url": { + "type": "string" + }, + "text_url": { + "type": "string" + }, + "research_url": { + "type": "string" + }, + "last_action_date": { + "type": "string" + }, + "last_action": { + "type": "string" + }, + "title": { + "type": "string" + } + } + } + } + } + } + } + }, + "SearchRawResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "searchresult": { + "type": "object", + "properties": { + "summary": { + "type": "object", + "properties": { + "page": { + "type": "string" + }, + "range": { + "type": "string" + }, + "relevancy": { + "type": "string" + }, + "count": { + "type": "integer", + "format": "int32" + }, + "page_current": { + "type": "string" + }, + "page_total": { + "type": "integer", + "format": "int32" + } + } + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "relevance": { + "type": "integer", + "format": "int32" + }, + "bill_id": { + "type": "integer", + "format": "int32" + }, + "change_hash": { + "type": "string" + } + } + } + } + } + } + } + }, + "DatasetListResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "datasetlist": { + "type": "array", + "items": { + "type": "object", + "properties": { + "state_id": { + "type": "integer", + "format": "int32" + }, + "session_id": { + "type": "integer", + "format": "int32" + }, + "special": { + "type": "integer", + "format": "int32" + }, + "year_start": { + "type": "integer", + "format": "int32" + }, + "year_end": { + "type": "integer", + "format": "int32" + }, + "session_name": { + "type": "string" + }, + "session_title": { + "type": "string" + }, + "dataset_hash": { + "type": "string" + }, + "dataset_date": { + "type": "string" + }, + "dataset_size": { + "type": "integer", + "format": "int32" + }, + "access_key": { + "type": "string" + } + } + } + } + } + }, + "DatasetArchiveResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "dataset": { + "type": "object", + "properties": { + "state_id": { + "type": "integer", + "format": "int32" + }, + "session_id": { + "type": "integer", + "format": "int32" + }, + "session_name": { + "type": "string" + }, + "dataset_hash": { + "type": "string" + }, + "dataset_date": { + "type": "string" + }, + "dataset_size": { + "type": "integer", + "format": "int32" + }, + "mime": { + "type": "string", + "example": "application/zip" + }, + "zip": { + "type": "string", + "description": "Base64-encoded ZIP archive content" + } + } + } + } + }, + "SessionPeopleResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "sessionpeople": { + "type": "object", + "properties": { + "session": { + "type": "object", + "properties": { + "session_id": { + "type": "integer", + "format": "int32" + }, + "state_id": { + "type": "integer", + "format": "int32" + }, + "year_start": { + "type": "integer", + "format": "int32" + }, + "year_end": { + "type": "integer", + "format": "int32" + }, + "special": { + "type": "integer", + "format": "int32" + }, + "prefile": { + "type": "integer", + "format": "int32" + }, + "prior": { + "type": "integer", + "format": "int32" + }, + "sine_die": { + "type": "integer", + "format": "int32" + }, + "session_name": { + "type": "string" + }, + "name": { + "type": "string" + }, + "dataset_hash": { + "type": "string" + } + } + }, + "people": { + "type": "array", + "items": { + "$ref": "#/definitions/SessionPerson" + } + } + } + } + } + }, + "SessionPerson": { + "type": "object", + "properties": { + "people_id": { + "type": "integer", + "format": "int32" + }, + "person_hash": { + "type": "string" + }, + "state_id": { + "type": "integer", + "format": "int32" + }, + "party_id": { + "type": "string" + }, + "party": { + "type": "string" + }, + "role_id": { + "type": "integer", + "format": "int32" + }, + "role": { + "type": "string" + }, + "name": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "middle_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "suffix": { + "type": "string" + }, + "nickname": { + "type": "string" + }, + "district": { + "type": "string" + }, + "ftm_eid": { + "type": "integer", + "format": "int32" + }, + "votesmart_id": { + "type": "integer", + "format": "int32" + }, + "opensecrets_id": { + "type": "string" + }, + "knowwho_pid": { + "type": "integer", + "format": "int32" + }, + "ballotpedia": { + "type": "string" + }, + "committee_sponsor": { + "type": "integer", + "format": "int32" + }, + "committee_id": { + "type": "integer", + "format": "int32" + } + } + }, + "SponsoredListResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "sponsoredbills": { + "type": "object", + "properties": { + "sponsor": { + "$ref": "#/definitions/SessionPerson" + }, + "sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "session_id": { + "type": "integer", + "format": "int32" + }, + "session_name": { + "type": "string" + } + } + } + }, + "bills": { + "type": "array", + "items": { + "type": "object", + "properties": { + "session_id": { + "type": "integer", + "format": "int32" + }, + "bill_id": { + "type": "integer", + "format": "int32" + }, + "number": { + "type": "string" + } + } + } + } + } + } + } + }, + "MonitorListResponse": { + "type": "object", + "properties": { + "monitorlist": { + "type": "array", + "items": { + "type": "object", + "properties": { + "monitor_id": { + "type": "integer" + }, + "state": { + "type": "string" + }, + "bill_id": { + "type": "integer" + }, + "change_hash": { + "type": "string" + }, + "bill": { + "type": "object", + "properties": { + "bill_id": { + "type": "integer", + "format": "int32" + }, + "state": { + "type": "string" + }, + "number": { + "type": "string" + }, + "stance": { + "type": "integer" + }, + "change_hash": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status_date": { + "type": "string", + "format": "date" + }, + "status": { + "type": "integer" + }, + "last_action_date": { + "type": "string", + "format": "date" + }, + "last_action": { + "type": "string" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + } + } + } + } + } + } + } + }, + "MonitorListRawResponse": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "monitorlist": { + "type": "array", + "items": { + "type": "object", + "properties": { + "bill_id": { + "type": "integer", + "format": "int32" + }, + "number": { + "type": "string" + }, + "state": { + "type": "string" + }, + "status": { + "type": "integer" + }, + "stance": { + "type": "integer" + }, + "change_hash": { + "type": "string" + } + } + } + } + } + }, + "SetMonitorResponse": { + "type": "object", + "properties": { + "status": { + "type": "string", + "example": "OK" + }, + "return": { + "type": "object", + "additionalProperties": { + "type": "string", + "example": "OK - Bill 1501580 added to monitor list with stance watch" + } + } + } + }, + "ErrorResponse": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "code": { + "type": "string" + } + } + } + }, + "securityDefinitions": {} +} \ No newline at end of file diff --git a/independent-publisher-connectors/LegiScan/apiProperties.json b/independent-publisher-connectors/LegiScan/apiProperties.json new file mode 100644 index 0000000000..d0e7216956 --- /dev/null +++ b/independent-publisher-connectors/LegiScan/apiProperties.json @@ -0,0 +1,9 @@ +{ + "properties": { + "connectionParameters": {}, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Dan Romano", + "stackOwner": "LegiScan" + } +} \ No newline at end of file