{"openapi":"3.1.0","info":{"title":"Owedly Agent API","version":"1.1.0","description":"Permission-scoped Owedly tools. Call get_connector_capabilities first. No message delivery, settlement acceptance, or money movement. relay_approved_offer returns offers the creditor or agency already set and approved for that account, verbatim, with the offer ID and expiry. It never proposes, counters, calculates, negotiates, or changes amounts or terms. Consumers are not charged a fee to use Resolve. Acceptance and payment are not available. Nothing is accepted or paid without the consumer's explicit action. OAuth requires PKCE S256. OpenAPI and MCP share validation and handlers."},"servers":[{"url":"https://owedly.ai/api/connectors/v1"}],"paths":{"/desk/tools/get_connector_capabilities":{"post":{"operationId":"desk_get_connector_capabilities","summary":"Check connection capabilities","description":"Start here. Check the connected workspace, granted permissions, available tools, review steps, and unavailable actions. This prevents confusing a saved draft with delivery or a completed financial action.","security":[{"OwedlyOAuth":["desk:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/desk/tools/get_draft_status":{"post":{"operationId":"desk_get_draft_status","summary":"Track a draft","description":"Read the status of a draft created by this connection. Reviewed is not sent, delivered, or accepted. Use a draft ID returned by this connection's draft tools.","security":[{"OwedlyOAuth":["desk:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"draftId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["draftId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/resolve/tools/get_connector_capabilities":{"post":{"operationId":"resolve_get_connector_capabilities","summary":"Check connection capabilities","description":"Start here. Check the connected workspace, granted permissions, available tools, review steps, and unavailable actions. This prevents confusing a saved draft with delivery or a completed financial action.","security":[{"OwedlyOAuth":["resolve:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/resolve/tools/get_draft_status":{"post":{"operationId":"resolve_get_draft_status","summary":"Track a draft","description":"Read the status of a draft created by this connection. Reviewed is not sent, delivered, or accepted. Use a draft ID returned by this connection's draft tools.","security":[{"OwedlyOAuth":["resolve:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"draftId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["draftId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/desk/tools/list_accounts":{"post":{"operationId":"desk_list_accounts","summary":"List placed accounts","description":"List a page of accounts owned by the connected Owedly Desk, with face amounts and case status. Does not search for people or calculate payoff balances.","security":[{"OwedlyOAuth":["desk:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"limit":{"default":20,"type":"integer","minimum":1,"maximum":50},"cursor":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["limit"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/desk/tools/get_case_status":{"post":{"operationId":"desk_get_case_status","summary":"Read case status","description":"Read one account's current recorded status and face amount in the connected Owedly Desk. Requires an account ID returned by list_accounts.","security":[{"OwedlyOAuth":["desk:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["accountId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/desk/tools/list_payment_records":{"post":{"operationId":"desk_list_payment_records","summary":"Read payment records","description":"Read up to 100 recorded payment events for an account owned by the connected Desk. No card details. Does not charge, schedule, refund, or transfer money.","security":[{"OwedlyOAuth":["desk:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"accountId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["accountId"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/desk/tools/create_placement_draft":{"post":{"operationId":"desk_create_placement_draft","summary":"Prepare a placement draft","description":"Save up to 100 user-selected accounts as an Owedly placement draft for human review. Does not add live accounts, contact anyone, accept collection terms, or start recovery. Reuse the same idempotency key only for an identical retry. Do not include government IDs, payment credentials, or health information.","security":[{"OwedlyOAuth":["desk:drafts"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":120},"accounts":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"reference":{"type":"string","minLength":1,"maxLength":80},"name":{"type":"string","minLength":1,"maxLength":120},"amount":{"type":"number","exclusiveMinimum":0,"maximum":100000000},"currency":{"default":"USD","type":"string","pattern":"^[A-Z]{3}$"},"creditor":{"type":"string","minLength":1,"maxLength":120}},"required":["reference","name","amount","currency"],"additionalProperties":false}},"idempotencyKey":{"type":"string","minLength":16,"maxLength":100,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["title","accounts","idempotencyKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/desk/tools/list_placement_drafts":{"post":{"operationId":"desk_list_placement_drafts","summary":"Read placement drafts","description":"List up to 50 placement drafts created by this connection, including their human-review status. Does not change or submit drafts.","security":[{"OwedlyOAuth":["desk:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/resolve/tools/get_resolve_guide":{"post":{"operationId":"resolve_get_resolve_guide","summary":"Understand Owedly Resolve","description":"Explain how to review debt-collection contact and prepare document or communication-preference requests with Owedly Resolve. relay_approved_offer returns offers the creditor or agency already set and approved for that account, verbatim, with the offer ID and expiry. It never proposes, counters, calculates, negotiates, or changes amounts or terms. Consumers are not charged a fee to use Resolve. Acceptance and payment are not available. Nothing is accepted or paid without the consumer's explicit action. Does not determine debt validity, provide legal advice, or access private debt records.","security":[{"OwedlyOAuth":["resolve:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/resolve/tools/create_consumer_request_draft":{"post":{"operationId":"resolve_create_consumer_request_draft","summary":"Prepare a consumer request","description":"Save a consumer's draft request for account documents or a communication preference. It stays in that consumer's account for review and is never sent automatically. This is a neutral request, not a legal notice or a determination of debt validity. Do not include SSNs, account numbers, payment credentials, or health information.","security":[{"OwedlyOAuth":["resolve:drafts"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"kind":{"type":"string","enum":["documents","contact_preference"]},"recipient":{"type":"string","minLength":1,"maxLength":120},"reference":{"type":"string","minLength":1,"maxLength":80},"channel":{"default":"owedly","type":"string","enum":["owedly","written","email","mail"]},"idempotencyKey":{"type":"string","minLength":16,"maxLength":100,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["kind","recipient","channel","idempotencyKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/resolve/tools/list_consumer_requests":{"post":{"operationId":"resolve_list_consumer_requests","summary":"Read your consumer requests","description":"Read up to 50 of the connected consumer's saved document and communication-preference request drafts and their review status. Never lists a creditor's desk or anyone else's debt records.","security":[{"OwedlyOAuth":["resolve:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}},"/resolve/tools/relay_approved_offer":{"post":{"operationId":"resolve_relay_approved_offer","summary":"Read an approved offer","description":"Read active, unexpired terms the creditor or agency already approved for an account this consumer is verified for. Returns those terms verbatim with the offer id and expiry, plus a review link. Does not propose, calculate, negotiate, change, accept, or pay. Does not read settlement floors. Input is the account reference only. relay_approved_offer returns offers the creditor or agency already set and approved for that account, verbatim, with the offer ID and expiry. It never proposes, counters, calculates, negotiates, or changes amounts or terms. Consumers are not charged a fee to use Resolve. Acceptance and payment are not available. Nothing is accepted or paid without the consumer's explicit action.","security":[{"OwedlyOAuth":["resolve:read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"reference":{"type":"string","minLength":1,"maxLength":80}},"required":["reference"],"additionalProperties":false}}}},"responses":{"200":{"description":"Tool result. Draft writes use the supplied idempotency key."},"400":{"description":"Invalid input"},"401":{"description":"Connection required"},"403":{"description":"Permission missing"},"409":{"description":"Idempotency key reused with different content"},"429":{"description":"Rate limit exceeded"},"503":{"description":"Service unavailable"}}}}},"externalDocs":{"url":"https://owedly.ai/agents/muse"},"components":{"securitySchemes":{"OwedlyOAuth":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://owedly.ai/oauth/authorize","tokenUrl":"https://owedly.ai/oauth/token","scopes":{"desk:read":"Read permitted records","resolve:read":"Read permitted records","desk:drafts":"Save drafts for human review","resolve:drafts":"Save drafts for human review"}}}}}}}