{"openapi":"3.1.0","info":{"title":"Owedly Resolve 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":{"/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"}}}},"/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?resource=https%3A%2F%2Fowedly.ai%2Fmcp%2Fresolve","tokenUrl":"https://owedly.ai/oauth/token","scopes":{"resolve:read":"Read permitted records","resolve:drafts":"Save drafts for human review"}}}}}}}