{"openapi":"3.1.0","info":{"title":"FutureSmart Document Intelligence API","description":"Ingest documents, read the fields extracted from them, and ask questions across a collection. See https://developers.futuresmart.ai/document-intelligence","version":"1.0.0"},"paths":{"/document-intelligence/v1/collections/{collection_id}/documents":{"post":{"tags":["documents"],"summary":"Add documents","description":"Add one document or many. Answers `202`: the work has been accepted, not finished. Poll the returned `job_id` to find out how it went.\n\nEach document names exactly one source - `text`, `url`, or `file_url`. Send an `Idempotency-Key` header so a retry does not ingest the same document twice.\n\nThis call is metered against the ingestion rate limit, which is lower than the general one, because each document starts real processing work.","operationId":"add_documents_document_intelligence_v1_collections__collection_id__documents_post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DocumentIn"},{"type":"array","items":{"$ref":"#/components/schemas/DocumentIn"}}],"title":"Payload"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["documents"],"summary":"List documents","description":"The documents in a collection, a page at a time, newest first. Each entry carries its processing `status` and a download link.","operationId":"list_documents_document_intelligence_v1_collections__collection_id__documents_get","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"created_at","title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","default":"desc","title":"Order"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/documents/files":{"post":{"tags":["documents"],"summary":"Upload document files","description":"Upload one or more files whose bytes live on local disk, as `multipart/form-data` under the field name `files`. Use this when a document is not already reachable at a URL - otherwise `POST /documents` with `file_url` is cheaper, because the bytes never pass through the API.\n\nAnswers `202` with a `job_id` covering the whole upload; poll it for progress. Metered against the ingestion rate limit. Send an `Idempotency-Key` header so a retry does not ingest the same files twice.","operationId":"add_document_files_document_intelligence_v1_collections__collection_id__documents_files_post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_add_document_files_document_intelligence_v1_collections__collection_id__documents_files_post"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/documents/upload-urls":{"post":{"tags":["documents"],"summary":"Get upload URLs","description":"Step 1 of a three-step upload for large files. Ask for one upload slot per file; you get back an `upload_url` and a `file_url` for each.\n\n1. Call this with your file names and content types.\n2. `PUT` each file's bytes straight to its `upload_url` - the bytes go to storage, not through this API, so there is no size ceiling from us.\n3. Call `POST /documents` with `file_url` set to the value returned here, to start processing.\n\nPrefer this over `POST /documents/files` when files are large or many - it keeps the bytes off this API entirely. The slots are short-lived, so upload promptly.","operationId":"create_upload_urls_document_intelligence_v1_collections__collection_id__documents_upload_urls_post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadUrlRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadUrlsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/documents/{document_id}/fields":{"get":{"tags":["documents"],"summary":"Get extracted fields","description":"The fields extracted from one document. Empty until the document reaches `indexed`.","operationId":"document_fields_document_intelligence_v1_collections__collection_id__documents__document_id__fields_get","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__documents__FieldsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/documents/{document_id}":{"delete":{"tags":["documents"],"summary":"Delete a document","description":"Remove one document from a collection. Answers `202` with a `job_id`: the removal happens in the background, so the collection's document count is stale until it finishes.","operationId":"delete_document_document_intelligence_v1_collections__collection_id__documents__document_id__delete","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/fields":{"get":{"tags":["fields"],"summary":"Get a collection's fields","description":"The extraction schema for a collection: every field it pulls out of a document, with its type and settings. This is the schema; for the values extracted from one document, use GET /collections/{id}/documents/{document_id}/fields.","operationId":"get_fields_document_intelligence_v1_collections__collection_id__fields_get","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__field_config__FieldsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["fields"],"summary":"Add fields","description":"Add new fields to a collection's extraction schema. Refuses if a field with the same name already exists — use PATCH to update an existing field.","operationId":"add_fields_document_intelligence_v1_collections__collection_id__fields_post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldsWrite"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__field_config__FieldsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["fields"],"summary":"Update or add fields","description":"Update the fields named in the body (create any that do not exist yet). Fields not mentioned are left untouched.","operationId":"update_fields_document_intelligence_v1_collections__collection_id__fields_patch","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldsWrite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__field_config__FieldsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["fields"],"summary":"Replace the custom fields","description":"Replace a collection's custom fields with exactly the set in the body: fields you omit are removed, the rest are updated or created. Built-in fields (like document_type and summary) are never touched.","operationId":"replace_fields_document_intelligence_v1_collections__collection_id__fields_put","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldsWrite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__routers__field_config__FieldsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["fields"],"summary":"Remove fields","description":"Remove fields from a collection's schema by name. Built-in fields (like document_type and summary) cannot be removed.","operationId":"delete_fields_document_intelligence_v1_collections__collection_id__fields_delete","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteFields"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Get a job","description":"How is the work going that a `202` accepted?\n\nA failed job is not a failed request. `202` from an ingestion call means we took the work on; whether the documents actually processed is answered here, per document. This is the step integrations most often skip.","operationId":"get_job_document_intelligence_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/search":{"post":{"tags":["retrieval"],"summary":"Search a collection","description":"Find the passages in a collection that match a query. No answer is written - use chat for that.","operationId":"search_document_intelligence_v1_collections__collection_id__search_post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/document-intelligence/v1/collections/{collection_id}/chat":{"post":{"tags":["retrieval"],"summary":"Ask a question","description":"Ask a question across a collection and get a written answer plus the passages it was drawn from.","operationId":"chat_document_intelligence_v1_collections__collection_id__chat_post","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_add_document_files_document_intelligence_v1_collections__collection_id__documents_files_post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files","description":"The files to ingest. One job covers all of them."}},"type":"object","required":["files"],"title":"Body_add_document_files_document_intelligence_v1_collections__collection_id__documents_files_post"},"ChatIn":{"properties":{"query":{"type":"string","maxLength":4000,"title":"Query","description":"The question to ask."},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"Omit to start a new conversation. The id comes back in the response; sending it on the next call is what lets a follow-up question understand \"it\"."}},"type":"object","required":["query"],"title":"ChatIn"},"ChatOut":{"properties":{"answer":{"type":"string","title":"Answer"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"sections":{"items":{"$ref":"#/components/schemas/Section"},"type":"array","title":"Sections"},"follow_up":{"items":{"type":"string"},"type":"array","title":"Follow Up","default":[]}},"type":"object","required":["answer","sections"],"title":"ChatOut"},"DeleteFields":{"properties":{"names":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Names","description":"The names of the fields to remove."}},"type":"object","required":["names"],"title":"DeleteFields"},"DeleteResult":{"properties":{"deleted":{"items":{"type":"string"},"type":"array","title":"Deleted"},"not_found":{"items":{"type":"string"},"type":"array","title":"Not Found"}},"type":"object","required":["deleted","not_found"],"title":"DeleteResult"},"DocumentIn":{"properties":{"text":{"anyOf":[{"type":"string","maxLength":1000000},{"type":"null"}],"title":"Text","description":"The document's text, sent inline."},"url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Url","description":"A web page to fetch and read."},"file_url":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"File Url","description":"A URL to fetch a file from. Not every public URL is accepted - see the ingesting-documents guide. Cannot contain a comma."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Your own key/value data, stored with the document and available to filter search on later."}},"type":"object","title":"DocumentIn","description":"One document to ingest. Exactly one source field, and nothing about how to process\nit — chunk size, parsing mode and embedding model are ours to tune."},"DocumentOut":{"properties":{"document_id":{"type":"string","title":"Document Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"status":{"type":"string","title":"Status"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"}},"type":"object","required":["document_id","status"],"title":"DocumentOut"},"DocumentPage":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/DocumentOut"},"type":"array","title":"Documents"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["documents","total_count","page","page_size","total_pages"],"title":"DocumentPage"},"FieldIn":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"Name","description":"The field's name."},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type","description":"One of: text, text_list, integer, number, boolean, object, table, date. Omit it to have the type inferred from the description."},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description","description":"What this field means, shown to the model during extraction."},"level":{"type":"string","enum":["document","section"],"title":"Level","description":"Whether the field is extracted per document or per section.","default":"document"},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the field is extracted on new documents.","default":true},"is_required":{"type":"boolean","title":"Is Required","description":"Whether extraction must succeed for this field.","default":false},"restrict_to_choices":{"type":"boolean","title":"Restrict To Choices","description":"Restrict extracted values to the sample_values list.","default":false},"sample_values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sample Values","description":"Example values (required when restrict_to_choices is true)."},"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema","description":"For object/table fields: the shape of the nested value."}},"type":"object","required":["name"],"title":"FieldIn","description":"One field in a create/update/replace request.\n\n`type` is optional: omit it and the service infers the type from `description` (so a\npartner never has to choose between, say, `object` and `table`). A description is\ntherefore required whenever a field is being *created*."},"FieldOut":{"properties":{"name":{"type":"string","title":"Name"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"level":{"type":"string","title":"Level","default":"document"},"is_custom":{"type":"boolean","title":"Is Custom","default":false},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_required":{"type":"boolean","title":"Is Required","default":false},"restrict_to_choices":{"type":"boolean","title":"Restrict To Choices","default":false},"sample_values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sample Values"},"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema"}},"type":"object","required":["name"],"title":"FieldOut"},"FieldsWrite":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/FieldIn"},"type":"array","minItems":1,"title":"Fields"}},"type":"object","required":["fields"],"title":"FieldsWrite"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IngestAccepted":{"properties":{"job_id":{"type":"string","title":"Job Id"},"collection_id":{"type":"string","title":"Collection Id"},"status":{"type":"string","title":"Status"},"document_count":{"type":"integer","title":"Document Count"}},"type":"object","required":["job_id","collection_id","status","document_count"],"title":"IngestAccepted"},"JobDocument":{"properties":{"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"$ref":"#/components/schemas/JobError"},{"type":"null"}]}},"type":"object","required":["status"],"title":"JobDocument"},"JobError":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"}},"type":"object","required":["code","message"],"title":"JobError","description":"Why one document failed. `code` is the stable thing to branch on; `message` may be\nreworded at any time."},"JobOut":{"properties":{"job_id":{"type":"string","title":"Job Id"},"collection_id":{"type":"string","title":"Collection Id"},"kind":{"type":"string","title":"Kind"},"status":{"type":"string","title":"Status"},"document_count":{"type":"integer","title":"Document Count"},"succeeded_count":{"type":"integer","title":"Succeeded Count"},"failed_count":{"type":"integer","title":"Failed Count"},"documents":{"items":{"$ref":"#/components/schemas/JobDocument"},"type":"array","title":"Documents"}},"type":"object","required":["job_id","collection_id","kind","status","document_count","succeeded_count","failed_count","documents"],"title":"JobOut"},"SearchIn":{"properties":{"query":{"type":"string","maxLength":4000,"title":"Query","description":"What to look for."},"top_k":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Top K","description":"How many passages to return, most relevant first.","default":5},"min_score":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Min Score","description":"Drop passages the retriever scored below this. 0 to 1."},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Filters","description":"Only search documents whose extracted fields match, for example {\"document_type\": \"invoice\"}."}},"type":"object","required":["query"],"title":"SearchIn"},"SearchOut":{"properties":{"sections":{"items":{"$ref":"#/components/schemas/Section"},"type":"array","title":"Sections"}},"type":"object","required":["sections"],"title":"SearchOut"},"Section":{"properties":{"section_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Section Id"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fields"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"}},"type":"object","title":"Section","description":"A passage of a document that the retriever matched. Internally a \"chunk\"."},"UploadTarget":{"properties":{"file_name":{"type":"string","title":"File Name"},"upload_url":{"type":"string","title":"Upload Url"},"file_url":{"type":"string","title":"File Url"}},"type":"object","required":["file_name","upload_url","file_url"],"title":"UploadTarget","description":"Where to send one file's bytes, and how to name it back to us afterwards."},"UploadUrlFile":{"properties":{"file_name":{"type":"string","maxLength":1024,"title":"File Name","description":"The file's name."},"content_type":{"type":"string","maxLength":255,"title":"Content Type","description":"The file's MIME type, e.g. application/pdf."}},"type":"object","required":["file_name","content_type"],"title":"UploadUrlFile","description":"One file a partner wants an upload slot for. No bytes yet — just enough to mint the\nslot and let storage know what is coming."},"UploadUrlRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/UploadUrlFile"},"type":"array","title":"Files","description":"The files you intend to upload. One slot comes back per file."}},"type":"object","required":["files"],"title":"UploadUrlRequest"},"UploadUrlsOut":{"properties":{"uploads":{"items":{"$ref":"#/components/schemas/UploadTarget"},"type":"array","title":"Uploads"}},"type":"object","required":["uploads"],"title":"UploadUrlsOut"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"app__routers__documents__FieldsOut":{"properties":{"document_id":{"type":"string","title":"Document Id"},"fields":{"additionalProperties":true,"type":"object","title":"Fields"}},"type":"object","required":["document_id","fields"],"title":"FieldsOut"},"app__routers__field_config__FieldsOut":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/FieldOut"},"type":"array","title":"Fields"}},"type":"object","required":["fields"],"title":"FieldsOut"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"},"BearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}]}