{"openapi":"3.1.0","info":{"title":"Maxim AI (BYOK) API","version":"0.1.0","description":"Maxim AI (BYOK) lets an AI assistant read your own Maxim AI data through the Maxim AI API with a key you supply (Maxim API key). Read-only: 10 tools (list_workspaces, list_prompts, get_prompt_versions, list_datasets, list_dataset_columns, list_dataset_entries, list_evaluators, list_workflows, list_test_runs, list_log_repositories). The BYOK key travels with each request, is used for that one call...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-maxim-ai.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-maxim-ai/docs"},"termsOfService":"https://connectorbay.com/byok-maxim-ai/terms"},"servers":[{"url":"https://byok-maxim-ai.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-maxim-ai/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_workspaces":{"post":{"operationId":"list_workspaces","summary":"List the Maxim workspaces of the account with id, name and times; filter by name or id. Use for \"Which Maxim workspaces ","description":"List the Maxim workspaces of the account with id, name and times; filter by name or id. Use for \"Which Maxim workspaces do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the workspace with this name.","title":"Name"},"id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the workspace with this id.","title":"Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"title":"list_workspacesArguments","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_prompts":{"post":{"operationId":"list_prompts","summary":"List the prompts of a workspace's prompt library; filter by name or folder. Use for \"Which prompts are in my Maxim works","description":"List the prompts of a workspace's prompt library; filter by name or folder. Use for \"Which prompts are in my Maxim workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only prompts with this name.","title":"Name"},"id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the prompt with this id.","title":"Id"},"folder_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only prompts in this folder.","title":"Folder Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id"],"title":"list_promptsArguments","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_prompt_versions":{"post":{"operationId":"get_prompt_versions","summary":"Get the versions of one prompt: version number, description and configuration (model, provider, messages, parameters). U","description":"Get the versions of one prompt: version number, description and configuration (model, provider, messages, parameters). Use for \"Show the versions of Maxim prompt X\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"prompt_id":{"description":"Id of the prompt, from list_prompts.","maxLength":100,"title":"Prompt Id","type":"string"},"id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the version with this id.","title":"Id"}},"required":["prompt_id"],"title":"get_prompt_versionsArguments","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_datasets":{"post":{"operationId":"list_datasets","summary":"List the evaluation datasets of a workspace with name, description, columns and number of entries. Use for \"Which evalua","description":"List the evaluation datasets of a workspace with name, description, columns and number of entries. Use for \"Which evaluation datasets exist in my Maxim workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"folder_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only datasets in this folder.","title":"Folder Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id"],"title":"list_datasetsArguments","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_dataset_columns":{"post":{"operationId":"list_dataset_columns","summary":"List the columns of one dataset with name, type and data type. Use for \"Which columns does Maxim dataset X have\".","description":"List the columns of one dataset with name, type and data type. Use for \"Which columns does Maxim dataset X have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"dataset_id":{"description":"Id of the dataset, from list_datasets.","maxLength":100,"title":"Dataset Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items to return (1 to 100).","title":"Limit"}},"required":["workspace_id","dataset_id"],"title":"list_dataset_columnsArguments","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_dataset_entries":{"post":{"operationId":"list_dataset_entries","summary":"List entries (rows) of one dataset, optionally of one split, a few at a time. Use for \"Show the first rows of Maxim data","description":"List entries (rows) of one dataset, optionally of one split, a few at a time. Use for \"Show the first rows of Maxim dataset X\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"dataset_id":{"description":"Id of the dataset, from list_datasets.","maxLength":100,"title":"Dataset Id","type":"string"},"split_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries of this dataset split.","title":"Split Id"},"limit":{"anyOf":[{"maximum":30,"minimum":1,"type":"integer"},{"type":"null"}],"default":5,"description":"How many items to return (1 to 30).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id","dataset_id"],"title":"list_dataset_entriesArguments","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_evaluators":{"post":{"operationId":"list_evaluators","summary":"List the evaluators of a workspace (AI, programmatic and human scoring definitions); filter by name. Use for \"Which eval","description":"List the evaluators of a workspace (AI, programmatic and human scoring definitions); filter by name. Use for \"Which evaluators are set up in my Maxim workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only evaluators with this name.","title":"Name"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id"],"title":"list_evaluatorsArguments","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_workflows":{"post":{"operationId":"list_workflows","summary":"List the workflows (HTTP endpoints or voice agents under test) of a workspace. Use for \"Which workflows are defined in m","description":"List the workflows (HTTP endpoints or voice agents under test) of a workspace. Use for \"Which workflows are defined in my Maxim workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"type":{"anyOf":[{"enum":["HTTP","VOICE"],"type":"string"},{"type":"null"}],"default":"HTTP","description":"HTTP (default) or VOICE.","title":"Type"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only workflows with this name.","title":"Name"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many items to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id"],"title":"list_workflowsArguments","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_test_runs":{"post":{"operationId":"list_test_runs","summary":"List the test runs of a workspace (evaluation runs of prompts or workflows against datasets). Use for \"What were my late","description":"List the test runs of a workspace (evaluation runs of prompts or workflows against datasets). Use for \"What were my latest Maxim test runs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the test run with this id.","title":"Id"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 100).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id"],"title":"list_test_runsArguments","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_log_repositories":{"post":{"operationId":"list_log_repositories","summary":"List the log repositories of a workspace (where production traces are stored). Use for \"Which log repositories do I have","description":"List the log repositories of a workspace (where production traces are stored). Use for \"Which log repositories do I have in Maxim\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"workspace_id":{"description":"Id of the Maxim workspace, from list_workspaces.","maxLength":100,"title":"Workspace Id","type":"string"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only repositories with this name.","title":"Name"},"limit":{"anyOf":[{"maximum":20,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 20).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination field, for the next page.","title":"Cursor"}},"required":["workspace_id"],"title":"list_log_repositoriesArguments","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}}}}