Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

Quick StartWhat is Saasco?

Analytics

CRM

Email Marketing

Knowledge

Support

getList Conversation MessagesgetSearch Conversation MessagespostMark Messages SeenpostGet Inbound Email Attachment

Projects

Messages

Get Inbound Email Attachment

Mints a short-lived download URL for one file on an inbound email. A POST rather than a GET because the URL expires and must not be cached. Returns 404 if the message or attachment does not belong to the project.

POST
/projects/{projectId}/support/conversations/{conversationId}/messages/{messageId}/attachments/{attachmentId}

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that owns the conversation.

attachmentIdrequiredstring

Resend attachment id stored on the inbound message.

conversationIdrequiredstring

ID of the conversation that owns the message.

messageIdrequiredstring

ID of the inbound email message the file belongs to.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.saasco.com/api/v2/projects/string/support/conversations/string/messages/string/attachments/string"
{
  "expiresAt": "string",
  "fileName": "string",
  "url": "string"
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Mark Messages Seen

Marks customer comments on a conversation as seen by the team. Stamps `seenByTeamAt` on the given message ids that are still unseen. Project-wide, not per member: the first teammate (or API key) to open the thread clears the unread count for everyone.

List Projects

Lists the projects the caller can reach, each with its app configs. API keys are scoped to a single project, so an API-key caller always gets exactly that one project back. The paging and sorting parameters are only meaningful for session callers, who receive every project they are a member of.