{"openapi":"3.1.0","info":{"title":"Llama Cloud (BYOK) API","version":"0.1.0","description":"Llama Cloud (BYOK) lets an AI assistant read your own Llama Cloud data through the Llama Cloud API with a key you supply (LlamaCloud API key (starts with llx-)). Read-only: 11 tools (list_projects, list_organizations, list_pipelines, get_pipeline_status, list_pipeline_files, list_parse_jobs, get_parse_job, list_extract_jobs, list_classify_jobs, list_files, list_usage_metrics). The BYOK key...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-llamaindex.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-llamaindex/docs"},"termsOfService":"https://connectorbay.com/byok-llamaindex/terms"},"servers":[{"url":"https://byok-llamaindex.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-llamaindex/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_projects":{"post":{"operationId":"list_projects","summary":"List the LlamaCloud projects the key can see with id, name, organization and default flag. Use for \"Which LlamaCloud pro","description":"List the LlamaCloud projects the key can see with id, name, organization and default flag. Use for \"Which LlamaCloud projects do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects with this exact name.","title":"Name"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page.","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous answer's next_page_token for the next page.","title":"Page Token"}},"title":"list_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_organizations":{"post":{"operationId":"list_organizations","summary":"List the LlamaCloud organizations the key belongs to with id, name and parse plan level. Use for \"Which LlamaCloud organ","description":"List the LlamaCloud organizations the key belongs to with id, name and parse plan level. Use for \"Which LlamaCloud organization is my key in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_organizationsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_pipelines":{"post":{"operationId":"list_pipelines","summary":"List indexes (pipelines) with name, type, project and last update. Filter by project or name. Use for \"What LlamaCloud i","description":"List indexes (pipelines) with name, type, project and last update. Filter by project or name. Use for \"What LlamaCloud indexes do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"},"project_name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only pipelines of the project with this name.","title":"Project Name"},"pipeline_name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the pipeline with this name.","title":"Pipeline Name"},"pipeline_type":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only this pipeline type, for example MANAGED.","title":"Pipeline Type"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"}},"title":"list_pipelinesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_pipeline_status":{"post":{"operationId":"get_pipeline_status","summary":"Show the latest sync status of one index with deployment date and any step errors. Use for \"Is my LlamaCloud index finis","description":"Show the latest sync status of one index with deployment date and any step errors. Use for \"Is my LlamaCloud index finished syncing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pipeline_id":{"description":"Pipeline id as returned by list_pipelines.","maxLength":200,"title":"Pipeline Id","type":"string"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"}},"required":["pipeline_id"],"title":"get_pipeline_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_pipeline_files":{"post":{"operationId":"list_pipeline_files","summary":"List the files in one index with name, type, size, indexed page count, sync status and update time. Use for \"Which files","description":"List the files in one index with name, type, size, indexed page count, sync status and update time. Use for \"Which files are in my LlamaCloud index and did any fail\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pipeline_id":{"description":"Pipeline id as returned by list_pipelines.","maxLength":200,"title":"Pipeline Id","type":"string"},"file_name_contains":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only files whose name contains this text.","title":"File Name Contains"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many files to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many files to skip.","title":"Offset"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"}},"required":["pipeline_id"],"title":"list_pipeline_filesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_parse_jobs":{"post":{"operationId":"list_parse_jobs","summary":"List parse jobs (LlamaParse) newest first with status, tier, error message and credit usage. Use for \"Which LlamaParse j","description":"List parse jobs (LlamaParse) newest first with status, tier, error message and credit usage. Use for \"Which LlamaParse jobs failed this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["PENDING","RUNNING","COMPLETED","FAILED","CANCELLED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs with this status.","title":"Status"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"},"created_at_on_or_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only items created at or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created At On Or After"},"created_at_on_or_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only items created at or before this ISO 8601 time.","title":"Created At On Or Before"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page.","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous answer's next_page_token for the next page.","title":"Page Token"}},"title":"list_parse_jobsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_parse_job":{"post":{"operationId":"get_parse_job","summary":"Get one parse job's status, tier, error and usage without the parsed text. Use for \"What is the state of LlamaParse job ","description":"Get one parse job's status, tier, error and usage without the parsed text. Use for \"What is the state of LlamaParse job 11111111-2222-3333-4444-555555555555\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"job_id":{"description":"Parse job id as returned by list_parse_jobs.","maxLength":200,"title":"Job Id","type":"string"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"}},"required":["job_id"],"title":"get_parse_jobArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_extract_jobs":{"post":{"operationId":"list_extract_jobs","summary":"List v2 extract jobs with status, configuration id, error message and usage. Use for \"Which LlamaExtract jobs are still ","description":"List v2 extract jobs with status, configuration id, error message and usage. Use for \"Which LlamaExtract jobs are still running\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs with this status, for example PENDING, RUNNING, COMPLETED or FAILED.","title":"Status"},"configuration_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs that used this configuration id.","title":"Configuration Id"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"},"created_at_on_or_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only items created at or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created At On Or After"},"created_at_on_or_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only items created at or before this ISO 8601 time.","title":"Created At On Or Before"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page.","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous answer's next_page_token for the next page.","title":"Page Token"}},"title":"list_extract_jobsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_classify_jobs":{"post":{"operationId":"list_classify_jobs","summary":"List classify jobs with status, input file, result type with confidence and usage. Use for \"What did my recent LlamaClou","description":"List classify jobs with status, input file, result type with confidence and usage. Use for \"What did my recent LlamaCloud classify jobs decide\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs with this status.","title":"Status"},"configuration_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs that used this configuration id.","title":"Configuration Id"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"},"created_at_on_or_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only items created at or after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","title":"Created At On Or After"},"created_at_on_or_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only items created at or before this ISO 8601 time.","title":"Created At On Or Before"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page.","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous answer's next_page_token for the next page.","title":"Page Token"}},"title":"list_classify_jobsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_files":{"post":{"operationId":"list_files","summary":"List files uploaded to LlamaCloud with name, type, purpose and expiry. Use for \"What files have I uploaded to LlamaCloud","description":"List files uploaded to LlamaCloud with name, type, purpose and expiry. Use for \"What files have I uploaded to LlamaCloud\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"file_name":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Only files with this exact name.","title":"File Name"},"order_by":{"anyOf":[{"enum":["name","id","created_at"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by name, id or created_at.","title":"Order By"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id; defaults to the key's default project.","title":"Project Id"},"organization_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this organization id.","title":"Organization Id"},"page_size":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many files to return (1 to 1000).","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous answer's next_page_token for the next page.","title":"Page Token"}},"title":"list_filesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_usage_metrics":{"post":{"operationId":"list_usage_metrics","summary":"List credit usage events for an organization by day, with event type, project, value and credits. Filter by project or d","description":"List credit usage events for an organization by day, with event type, project, value and credits. Filter by project or date range. Use for \"How many LlamaCloud credits did I use in October\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"organization_id":{"description":"Organization id from list_organizations.","maxLength":100,"title":"Organization Id","type":"string"},"project_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this project id.","title":"Project Id"},"day_on_or_after":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only days on or after this date, YYYY-MM-DD.","title":"Day On Or After"},"day_on_or_before":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Only days on or before this date, YYYY-MM-DD.","title":"Day On Or Before"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return per page.","title":"Page Size"},"page_token":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Token from the previous answer's next_page_token for the next page.","title":"Page Token"}},"required":["organization_id"],"title":"list_usage_metricsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}