{ "openapi": "3.0.0", "x-api-id": "front", "x-explorer-enabled": false, "x-proxy-enabled": true, "x-samples-enabled": true, "info": { "version": "1.0.0", "title": "Core API", "contact": { "name": "Front Platform", "url": "https://community.front.com" } }, "security": [ { "http": [] } ], "servers": [ { "url": "https://api2.frontapp.com" } ], "components": { "schemas": { "Account": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Account" }, "description": { "type": "string", "description": "Account description" }, "domains": { "type": "array", "description": "List of domains associated with the Account", "items": { "type": "string" } }, "external_id": { "type": "string", "description": "ID of the Account in an external system" }, "custom_fields": { "description": "Custom fields for this account", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "AccountIds": { "type": "object", "required": [ "account_ids" ], "properties": { "account_ids": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "AccountPatch": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the Account" }, "description": { "type": "string", "description": "Account description" }, "domains": { "type": "array", "description": "List of domains associated with the Account", "items": { "type": "string" } }, "custom_fields": { "description": "Custom fields for this account. If you want to keep all custom fields the same when updating this resource, do not include any custom fields in the update. If you want to update custom fields, make sure to include all custom fields, not just the fields you want to add or update. If you send only the custom fields you want to update, the other custom fields will be erased. You can retrieve the existing custom fields before making the update to note the current fields.", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "AccountResponse": { "type": "object", "required": [ "_links", "id", "name", "logo_url", "description", "domains", "external_id", "custom_fields" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/accounts/acc_76" }, "related": { "type": "object", "properties": { "contacts": { "type": "string", "description": "Link to contacts associated to the account", "example": "https://yourCompany.api.frontapp.com/accounts/acc_76/contacts" } } } } }, "id": { "type": "string", "description": "Unique identifier of the account", "example": "acc_76" }, "name": { "type": "string", "description": "Account name", "example": "Dunder Mifflin, Inc." }, "logo_url": { "type": "string", "nullable": true, "description": "URL of the Account's logo", "example": "https://yourCompany.api.frontapp.com/accounts/acc_aq/logo-1654309308278" }, "description": { "type": "string", "nullable": true, "description": "Account Description", "example": "Limitless Paper in a Paperless World" }, "domains": { "type": "array", "description": "List of domains associated to the Account", "items": { "type": "string", "example": [ "dundermifflininc.com", "limitlesspaper.com" ] } }, "external_id": { "type": "string", "nullable": true, "description": "ID of the Account in an External system, such as your backoffice system or CRM", "example": 8739674733 }, "custom_fields": { "description": "Custom fields for this account", "$ref": "#/components/schemas/CustomFieldParameter" }, "created_at": { "type": "number", "description": "Timestamp when the account was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the account was updated", "example": 1654309308.278 } } }, "AddContactsToList": { "required": [ "contact_ids" ], "properties": { "contact_ids": { "type": "array", "description": "List of IDs of the contacts to add in the requested contact list. Alternatively, you can supply the contact source and handle as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "AnalyticsActivitiesColumns": { "type": "string", "enum": [ "Activity ID", "Type", "Source", "Message ID", "Segment ID", "Conversation ID", "Ticket IDs", "Segment", "Segment start", "Segment end", "Direction", "Status", "Status at activity time", "Inbox", "Inbox API ID", "Inbox at activity time", "Inbox API IDs at activity time", "Previous inbox IDs", "Message date", "Autoreply", "Reaction time", "Total reply time", "Handle time", "Response time", "Stage resolution time", "Replies to resolution", "Ticket resolution time", "Ticket replies to resolution", "Attributed to", "Assignee", "Author", "Contact name", "Contact handle", "Account names", "From", "To", "Cc", "Bcc", "Extract", "Tags", "Tag API IDs", "Tags at activity time", "Tag API IDs at activity time", "Tag application duration", "Activity API ID", "Message API ID", "Comment API ID", "Conversation API ID", "Message original ID", "New Conversation", "First response", "Business hours", "Subject", "Account name", "Survey rating", "Survey comment", "Segment closed", "Segment contains messages", "Last segment activity", "Added tag", "Added tag API ID", "Removed tag", "Removed tag API ID", "Segment cumulative teammates", "Ticket status name", "Ticket status name at activity time", "Ticket status category", "Ticket status category at activity time" ] }, "AnalyticsActivitiesExportsColumns": { "required": [ "columns" ], "type": "object", "properties": { "columns": { "type": "array", "description": "List of the columns to include in the export. In addition to the\npredefined columns, you can also include parameterized columns by\nappending the parameter value to the column name, separated by a\ncolon (`:`).\n\nExample: `[\"Message ID\", \"Time spent in Ticket Status:123\", \"Smart QA score:Comprehension\"]`\n", "items": { "oneOf": [ { "$ref": "#/components/schemas/AnalyticsActivitiesColumns" }, { "$ref": "#/components/schemas/AnalyticsActivitiesParameterizedColumns" } ] }, "default": [ "Activity ID", "Type", "Source", "Message ID", "Segment ID", "Conversation ID", "Ticket IDs", "Segment", "Segment start", "Segment end", "Direction", "Status", "Status at activity time", "Inbox", "Inbox API ID", "Inbox at activity time", "Inbox API IDs at activity time", "Previous inbox IDs", "Message date", "Autoreply", "Reaction time", "Total reply time", "Handle time", "Response time", "Ticket resolution time", "Ticket replies to resolution", "Attributed to", "Assignee", "Author", "Contact name", "Contact handle", "Account names", "From", "To", "Cc", "Bcc", "Extract", "Tags", "Tag API IDs", "Tags at activity time", "Tag API IDs at activity time", "Tag application duration", "Activity API ID", "Message API ID", "Comment API ID", "Conversation API ID", "Message original ID", "New Conversation", "First response", "Business hours", "Subject", "Account name", "Survey rating", "Survey comment", "Segment closed", "Segment contains messages", "Last segment activity", "Added tag", "Added tag API ID", "Removed tag", "Removed tag API ID", "Segment cumulative teammates" ] } } }, "AnalyticsActivitiesParameterizedColumns": { "type": "string", "oneOf": [ { "type": "string", "pattern": "^Time spent in Ticket Status:\\d+$" }, { "type": "string", "pattern": "^Transitions to Ticket Status:\\d+$" }, { "type": "string", "pattern": "^Smart QA score:\\w+$" } ] }, "AnalyticsActivitiesSmartQAScoreParameters": { "type": "string", "enum": [ "Comprehension", "Solution_Offered", "Professionalism", "Professional_Behavior", "Professional_Relationship", "Readability", "Grammar_Spelling", "General_Empathy", "Cognitive_Empathy", "Emotional_Empathy", "Compassionate_Empathy", "Tone", "Adaptive_Tone", "Neutral_Tone", "Positive_Tone", "Brevity", "Demo_Offered", "Information_Gathering", "Upsell", "Friendly", "Greeting_Offered", "Personalisation", "Adaptability" ] }, "AnalyticsExportRequest": { "discriminator": { "propertyName": "type", "mapping": { "messages": "#/components/schemas/AnalyticsMessagesExportColumns", "events": "#/components/schemas/AnalyticsActivitiesExportsColumns" } }, "oneOf": [ { "$ref": "#/components/schemas/AnalyticsMessagesExportColumns" }, { "$ref": "#/components/schemas/AnalyticsActivitiesExportsColumns" } ], "properties": { "type": { "type": "string", "description": "The type of export to create. The type you specify determines which columns are available for the export.", "enum": [ "messages", "events" ] }, "start": { "type": "number", "description": "Start time of the data to include in the export (seconds since 1970-01-01T00:00:00+00). Will be rounded down to the start of the day." }, "end": { "type": "number", "description": "End time of the data to include in the export (seconds since 1970-01-01T00:00:00+00). Will be rounded up to the end of the day." }, "timezone": { "type": "string", "description": "[IANA name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) of the timezone to format the dates with. If omitted, the export will use Etc/UTC." }, "filters": { "$ref": "#/components/schemas/AnalyticsFilters" } }, "required": [ "start", "end", "type" ] }, "AnalyticsExportResponse": { "type": "object", "required": [ "_links", "id", "status", "progress", "filters" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to analytics export", "example": "https://yourCompany.api.frontapp.com/analytics/exports/exp_o9y1a" } } }, "id": { "type": "string", "description": "The public ID of the analytics export", "example": "exp_o9y1a" }, "status": { "type": "string", "enum": [ "running", "done", "too_big", "failed" ], "description": "Status of the analytics", "example": "running" }, "progress": { "type": "integer", "minimum": 0, "maximum": 100, "description": "Number ranging from 0 to 100 corresponding to the percentage of the analytics processed.", "example": 20 }, "url": { "type": "string", "description": "The URL from which the export data can be downloaded. Only displays after you make a GET request to the link included in the POST response.", "example": "https://api.frontapp.com/analytics/exports/exp_o9y1a/download" }, "filename": { "type": "string", "description": "The filename of the export with extension included. Only displays after you make a GET request to the link included in the POST response.", "example": "export-messages-yourCompany-2023-07-19-212d-e55df0.csv" }, "size": { "type": "number", "nullable": true, "description": "Size (in bytes) of the export data. Only displays after you make a GET request to the link included in the POST response.", "example": 26639 }, "created_at": { "type": "number", "description": "Timestamp (in seconds) at which the export was requested.", "example": 1703103649.159 }, "filters": { "$ref": "#/components/schemas/AnalyticsFilters" } } }, "AnalyticsFilters": { "description": "Resources to compute the analytics for. Defaults to all.", "anyOf": [ { "$ref": "#/components/schemas/TagIds" }, { "$ref": "#/components/schemas/TeammateIds" }, { "$ref": "#/components/schemas/ChannelIds" }, { "$ref": "#/components/schemas/InboxIds" }, { "$ref": "#/components/schemas/TeamIds" }, { "$ref": "#/components/schemas/AccountIds" } ] }, "AnalyticsMessagesColumns": { "type": "string", "enum": [ "Message ID", "Segment ID", "Conversation ID", "Ticket IDs", "Segment", "Direction", "Status", "Inbox", "Inbox API ID", "Inbox at activity time", "Inbox API IDs at activity time", "Message date", "Autoreply", "Reaction time", "Total reply time", "Handle time", "Response time", "Attributed to", "Assignee", "Author", "Contact name", "Contact handle", "Account names", "From", "To", "Cc", "Bcc", "Extract", "Tags", "Tag API IDs", "Message API ID", "Conversation API ID", "New Conversation", "First response", "Business hours", "Subject", "Segment start", "Segment end", "Segment closed", "Last segment activity", "Segment cumulative teammates", "Ticket status name", "Ticket status name at activity time", "Ticket status category", "Ticket status category at activity time" ] }, "AnalyticsMessagesExportColumns": { "required": [ "columns" ], "type": "object", "properties": { "columns": { "type": "array", "description": "List of the columns to include in the export.\n", "items": { "$ref": "#/components/schemas/AnalyticsMessagesColumns" }, "default": [ "Message ID", "Segment ID", "Conversation ID", "Ticket IDs", "Segment", "Direction", "Status", "Inbox", "Inbox API ID", "Inbox at activity time", "Inbox API IDs at activity time", "Message date", "Autoreply", "Reaction time", "Total reply time", "Handle time", "Response time", "Attributed to", "Assignee", "Author", "Contact name", "Contact handle", "Account names", "From", "To", "Cc", "Bcc", "Extract", "Tags", "Tag API IDs", "Message API ID", "Conversation API ID", "New Conversation", "First response", "Business hours", "Subject", "Segment start", "Segment end", "Segment closed", "Last segment activity", "Segment cumulative teammates" ] } } }, "AnalyticsMetricId": { "type": "string", "enum": [ "avg_csat_survey_response", "avg_first_response_time", "avg_handle_time", "avg_replies_to_resolution", "avg_resolution_time", "avg_response_time", "avg_sla_breach_time", "avg_total_reply_time", "new_segments_count", "num_active_segments_full", "num_archived_segments", "num_archived_segments_with_reply", "num_csat_survey_response", "num_messages_received", "num_messages_sent", "num_sla_breach", "pct_csat_survey_satisfaction", "pct_resolved_on_first_reply", "pct_tagged_conversations", "num_closed_segments", "num_open_segments_start", "num_open_segments_end", "num_resolved_segments", "num_unresolved_active_segments", "num_workload_segments" ] }, "AnalyticsReportRequest": { "properties": { "start": { "type": "number", "description": "Start time of the data to include in the export (seconds since 1970-01-01T00:00:00+00). Will be rounded down to the start of the day." }, "end": { "type": "number", "description": "End time of the data to include in the export (seconds since 1970-01-01T00:00:00+00). Will be rounded up to the end of the day." }, "timezone": { "type": "string", "description": "[IANA name](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) of the timezone to format the dates with. If omitted, the export will use Etc/UTC." }, "filters": { "$ref": "#/components/schemas/AnalyticsFilters" }, "metrics": { "type": "array", "description": "List of the metrics required.", "items": { "$ref": "#/components/schemas/AnalyticsMetricId" } } }, "required": [ "start", "end", "metrics" ] }, "AnalyticsReportResponse": { "type": "object", "required": [ "_links", "uid", "status", "progress", "metrics" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to analytics job.", "example": "https://yourCompany.api.frontapp.com/analytics/reports/b45efa66237cc453252d9019449c7a64f5cfdb491b6c2c1d6df33c1050d60e33" } } }, "uid": { "type": "string", "description": "The UID of the analytics report", "example": "b45efa66237cc453252d9019449c7a64f5cfdb491b6c2c1d6df33c1050d60e33" }, "status": { "type": "string", "enum": [ "running", "done", "failed" ], "description": "Status of the report.", "example": "done" }, "progress": { "type": "integer", "minimum": 0, "maximum": 100, "description": "Number ranging from 0 to 100 corresponding to the percentage of the analytics processed.", "example": 100 }, "metrics": { "type": "array", "description": "The metrics computed for the report.", "items": { "$ref": "#/components/schemas/AnalyticsScalar" } } } }, "AnalyticsScalar": { "type": "object", "required": [ "id", "type", "value" ], "properties": { "id": { "$ref": "#/components/schemas/AnalyticsMetricId" }, "type": { "$ref": "#/components/schemas/AnalyticsScalarType" }, "value": { "$ref": "#/components/schemas/AnalyticsScalarValue" } } }, "AnalyticsScalarType": { "type": "string", "example": "number", "enum": [ "number", "percentage", "string", "duration", "resource" ] }, "AnalyticsScalarValue": { "oneOf": [ { "type": "integer" }, { "type": "string" }, { "type": "object", "properties": { "label": { "type": "string" }, "resource": { "type": "object", "required": [ "id", "_links" ], "properties": { "id": { "type": "string" }, "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to a resource." } } } } } } } ], "nullable": true, "description": "The value of a scalar metric." }, "AppEvent": { "required": [ "event_type", "app_object" ], "properties": { "event_type": { "type": "string", "description": "The type of event this application should handle" }, "app_object": { "type": "object", "description": "Identifier for the app object to which the event is related. Either an ID or an external link is required.\nIf both are provided, the ID will be favored.\n", "properties": { "id": { "type": "string", "description": "ID of the app object" }, "ext_link": { "type": "string", "description": "External link of the app object" } } } } }, "Attachment": { "type": "object", "required": [ "id", "url", "filename", "content_type", "size", "metadata" ], "properties": { "id": { "type": "string", "description": "The unique identifier of the attachment.", "example": "fil_3q8a7mby" }, "filename": { "type": "string", "description": "Name of the attached file", "example": "Andy_Anger_Management_Certificate.png" }, "url": { "type": "string", "description": "URL to download the attached file", "example": "https://yourCompany.api.frontapp.com/download/fil_3q8a7mby" }, "content_type": { "type": "string", "description": "Content type of the attached file in [MIME format](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types). Note that some attachments types may not be supported.", "example": "image/png" }, "size": { "type": "integer", "description": "Size (in byte) of the attached file", "example": 4405 }, "metadata": { "description": "Attachment metadata", "type": "object", "properties": { "is_inline": { "type": "boolean", "description": "Whether or not the attachment is part of the message body", "example": true }, "cid": { "type": "string", "description": "Unique identifier used to link an attachment to where it is used in the message body", "example": "526b45586d0e6b1c484afab63d1ef0be" } } } } }, "ChannelIds": { "type": "object", "required": [ "channel_ids" ], "properties": { "channel_ids": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "ChannelResponse": { "type": "object", "required": [ "_links", "id", "type", "settings", "is_private", "is_valid" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/channels/cha_1gv4" }, "related": { "type": "object", "properties": { "inbox": { "type": "string", "nullable": true, "description": "Link to channel inbox", "example": "https://yourCompany.api.frontapp.com/inboxes/inb_1ix6" }, "owner": { "type": "string", "description": "Link to channel owner", "example": "https://yourCompany.api.frontapp.com/teams/jen_k30" } } } } }, "id": { "type": "string", "description": "Unique identifier for the channel", "example": "cha_1gv4" }, "name": { "type": "string", "description": "The name of the channel", "example": "Paper Sales Inbox" }, "address": { "type": "string", "description": "Address receiving the messages", "example": "sales@dundermifflin.com" }, "type": { "type": "string", "description": "Type of the channel", "enum": [ "custom", "facebook", "gmail", "google_play", "imap", "intercom", "form", "office365", "layer_anon", "smtp", "talkdesk", "truly", "twilio", "twilio_whatsapp", "twitter", "twitter_dm", "yalo_wha", "front_chat", "front_mail" ], "example": "gmail" }, "send_as": { "type": "string", "description": "Address which appears as the sender for messages sent from Front", "example": "sales@dundermifflin.com" }, "settings": { "type": "object", "description": "Channel settings", "properties": { "undo_send_time": { "type": "integer", "description": "The time (measured in seconds) that users have to undo a send operation in the channel.", "enum": [ 0, 5, 10, 15, 30, 60 ], "example": 15 }, "all_teammates_can_reply": { "type": "boolean", "description": "Whether teammates without inbox access can reply on this channel. Only present for shared channels; omitted for private channels.", "example": false } } }, "is_private": { "type": "boolean", "default": false, "description": "Whether or not the channel is individual", "example": false }, "is_valid": { "type": "boolean", "default": false, "description": "Whether or not the channel configuration is valid", "example": true } } }, "CommentResponse": { "type": "object", "required": [ "_links", "id", "author", "body", "attachments", "is_pinned" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/comments/com_1ywg3f2" }, "related": { "type": "object", "properties": { "conversation": { "type": "string", "description": "Link to comment's conversation", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_y4xb93i" }, "mentions": { "type": "string", "description": "Link to comment mentions", "example": "https://yourCompany.api.frontapp.com/comments/com_1ywg3f2/mentions" }, "comment_replied_to": { "nullable": true, "type": "string", "description": "Link to the comment that is being replied to.", "example": "https://yourCompany.api.frontapp.com/comments/com_1ywg3f2" } } } } }, "id": { "type": "string", "description": "Unique identifier of the comment", "example": "com_1ywg3f2" }, "author": { "description": "Teammate who wrote the comment", "$ref": "#/components/schemas/TeammateResponse" }, "body": { "type": "string", "description": "Content of the comment", "example": "Sometimes I'll start a sentence and I don't even know where it's going. I just hope I find it along the way." }, "posted_at": { "type": "number", "description": "The timestamp when the comment was posted", "example": 1698943401.378 }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Attachment" }, "description": "List of files attached to the comment" }, "is_pinned": { "type": "boolean", "description": "Whether or not the comment is pinned in its conversation", "example": true } } }, "Contact": { "properties": { "name": { "type": "string", "description": "Contact name" }, "description": { "type": "string", "description": "Contact description" }, "avatar": { "type": "string", "description": "Binary data of avatar. Must use `Content-Type: multipart/form-data` if specified. See [example](https://gist.github.com/hdornier/e04d04921032e98271f46ff8a539a4cb) or read more about [Attachments](https://dev.frontapp.com/docs/attachments-1). Max 25 MB.", "format": "binary" }, "links": { "type": "array", "description": "List of all the links of the contact", "items": { "type": "string" } }, "group_names": { "type": "array", "description": "List of all the group names the contact belongs to. It will automatically create missing groups. ⚠️ Deprecated. Use `list_names` instead.", "items": { "type": "string" } }, "list_names": { "type": "array", "description": "List of all the contact list names the contact belongs to. It will automatically create missing groups", "items": { "type": "string" } }, "custom_fields": { "description": "Custom fields for this contact. If you want to keep all custom fields the same when updating this resource, do not include any custom fields in the update. If you want to update custom fields, make sure to include all custom fields, not just the fields you want to add or update. If you send only the custom fields you want to update, the other custom fields will be erased. You can retrieve the existing custom fields before making the update to note the current fields.", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "ContactHandle": { "type": "object", "required": [ "handle", "source" ], "properties": { "handle": { "type": "string", "description": "Handle used to reach the contact.", "example": "dwight@limitlesspaper.com" }, "source": { "type": "string", "enum": [ "twitter", "email", "phone", "facebook", "intercom", "front_chat", "custom" ], "description": "Source of the handle. Can be `email`, `phone`, `twitter`, `facebook`, `intercom`, `front_chat`, or `custom`.", "example": "email" } } }, "ContactIds": { "type": "object", "required": [ "contact_ids" ], "properties": { "contact_ids": { "type": "array", "description": "The contact IDs to include. Alternatively, you can supply the contact source and handle as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "ContactListResponses": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/contact_lists/grp_3j342" }, "related": { "type": "object", "properties": { "contacts": { "type": "string", "description": "Link to contact list contacts", "example": "https://yourCompany.api.frontapp.com/contact_lists/grp_3j342/contacts" }, "owner": { "type": "string", "description": "Link to list owner", "example": "https://yourCompany.api.frontapp.com/teammates/tea_e35u" } } } } }, "id": { "type": "string", "description": "Unique identifier of the list", "example": "grp_3j342" }, "name": { "type": "string", "description": "Name of the list", "example": "Party Planning Committee" }, "is_private": { "type": "boolean", "description": "Whether or not the contact is individual", "example": false } } }, "ContactNoteResponses": { "type": "object", "required": [ "_links", "author", "body", "is_private" ], "properties": { "_links": { "type": "object", "properties": { "related": { "type": "object", "properties": { "author": { "type": "string", "description": "Link to the teammate who wrote the note", "example": "https://yourCompany.api.frontapp.com/teammates/tea_6r55a" }, "owner": { "type": "string", "nullable": true, "description": "Link to the owner of the note", "example": "https://yourCompany.api.frontapp.com/teammates/tea_e35u" } } } } }, "author": { "$ref": "#/components/schemas/TeammateResponse", "description": "Teammate who wrote the note", "example": "https://yourCompany.api.frontapp.com/teammates/tea_6r55a" }, "body": { "type": "string", "description": "Content of the note", "example": "Mrs. Allen is our most important client … because every client is our most important client." }, "created_at": { "type": "number", "description": "The timestamp when the note was created", "example": 1701806790.536 } } }, "ContactResponse": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/contacts/crd_3cgz4ge\"" }, "related": { "type": "object", "properties": { "notes": { "type": "string", "description": "Link to contact notes", "example": "https://yourCompany.api.frontapp.com/contacts/crd_3cgz4ge/notes" }, "conversations": { "type": "string", "description": "Link to contact conversations", "example": "https://yourCompany.api.frontapp.com/contacts/crd_3cgz4ge/conversations" }, "owner": { "type": "string", "description": "Link to contact owner", "example": null } } } } }, "id": { "type": "string", "description": "Unique identifier of the contact", "example": "crd_3cgz4ge" }, "name": { "type": "string", "description": "Contact name", "example": "Dwight Schrute" }, "description": { "type": "string", "description": "Contact description", "example": "Assistant to the regional manager" }, "avatar_url": { "type": "string", "description": "URL of the contact's avatar", "example": "https://yourCompany.api.frontapp.com/contacts/crd_3cgz4ge/avatar-1673436467707" }, "links": { "type": "array", "description": "List of all the links of the contact", "items": { "type": "string", "example": [ "https://shrutefarms.com", "https://eatyourbeets.com" ] } }, "groups": { "type": "array", "deprecated": true, "description": "List of the groups the contact belongs to. ⚠️ Deprecated. use `lists` instead.", "items": { "$ref": "#/components/schemas/ContactListResponses" } }, "lists": { "type": "array", "description": "List of the contact lists the contact belongs to.", "items": { "$ref": "#/components/schemas/ContactListResponses" } }, "handles": { "type": "array", "description": "List of the handles and sources with which the contact is reachable.", "items": { "$ref": "#/components/schemas/ContactHandle" } }, "custom_fields": { "description": "Custom fields for this contact.", "$ref": "#/components/schemas/CustomFieldParameter" }, "is_private": { "type": "boolean", "description": "Whether or not the contact is individual", "example": true } } }, "ConversationResponse": { "type": "object", "required": [ "_links", "id", "subject", "status", "ticket_ids", "assignee", "recipient", "tags", "links", "custom_fields", "is_private", "scheduled_reminders", "metadata" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q" }, "related": { "type": "object", "properties": { "events": { "type": "string", "description": "Link to conversation events", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q/events" }, "followers": { "type": "string", "description": "Link to conversation followers", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q/followers" }, "messages": { "type": "string", "description": "Link to conversation messages", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q/messages" }, "comments": { "type": "string", "description": "Link to conversation comments", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q/comments" }, "inboxes": { "type": "string", "description": "Link to conversation inboxes", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q/inboxes" }, "last_message": { "type": "string", "description": "Link to last message of the conversation", "example": "https://yourCompany.api.frontapp.com/messages/msg_1q15qmtq?referer=conversation" } } } } }, "id": { "type": "string", "description": "Unique identifier of the conversation", "example": "cnv_yo1kg5q" }, "subject": { "type": "string", "description": "Subject of the message for email message", "example": "How to prank Dwight Schrute" }, "status": { "type": "string", "description": "Status of the conversation", "enum": [ "archived", "unassigned", "deleted", "assigned" ], "example": "assigned" }, "status_id": { "type": "string", "description": "Unique identifier of the conversation status category, only present if ticketing is enabled", "example": "sts_5x" }, "status_category": { "type": "string", "description": "Status category of the conversation", "enum": [ "open", "waiting", "resolved" ], "example": "resolved" }, "ticket_ids": { "type": "array", "description": "List of ticket ids associated with the conversation", "items": { "type": "string" }, "example": [ "TICKET-1" ] }, "assignee": { "nullable": true, "$ref": "#/components/schemas/TeammateResponse", "description": "Partial representation of the teammate assigned to the conversation" }, "recipient": { "nullable": true, "$ref": "#/components/schemas/RecipientResponse", "description": "Main recipient of the conversation" }, "tags": { "type": "array", "description": "List of the tags for this conversation", "items": { "$ref": "#/components/schemas/TagResponse" } }, "links": { "type": "array", "description": "List of the links for this conversation", "items": { "$ref": "#/components/schemas/LinkResponse" } }, "custom_fields": { "description": "Custom fields for this conversation", "$ref": "#/components/schemas/CustomFieldParameter" }, "created_at": { "type": "number", "description": "Timestamp at which the conversation was created.", "example": 1701292649.333 }, "updated_at": { "type": "number", "description": "Timestamp at which the conversation was last updated.", "example": 1701292649.333 }, "waiting_since": { "type": "number", "description": "Timestamp of the oldest unreplied message.", "example": 1701292649.333 }, "is_private": { "type": "boolean", "description": "Whether or not the conversation is private", "example": true }, "scheduled_reminders": { "type": "array", "description": "List of scheduled (non-expired and non-canceled) reminders for this conversation", "items": { "$ref": "#/components/schemas/Reminder" } }, "metadata": { "type": "object", "description": "Optional metadata about the conversation", "properties": { "external_conversation_ids": { "type": "array", "description": "List of external_ids for partner channel associated with the conversation. Only present for partner channel token authenticated requests.", "example": [ "JS3949", "JS9403" ], "items": { "type": "string" } } } } } }, "CreateChannel": { "required": [ "type" ], "properties": { "name": { "type": "string", "description": "Name of the channel" }, "settings": { "type": "object", "description": "Settings of the channel", "properties": { "undo_send_time": { "type": "integer", "description": "The time (measured in seconds) that users have to undo a send operation in the channel.", "enum": [ 0, 5, 10, 15, 30, 60 ] }, "all_teammates_can_reply": { "type": "boolean", "description": "Whether teammates without inbox access can reply on this channel. Only allowed for shared channels." }, "webhook_url": { "type": "string", "description": "The webhook URL outbound messages should be sent to. Only allowed for \"custom\" type channels." }, "sid": { "type": "string", "description": "The SID of the Twilio channel. Only allowed for \"twilio\" type channels." }, "auth_token": { "type": "string", "description": "The auth token for the Twilio account. Only allowed for \"twilio\" type channels." } } }, "type": { "type": "string", "description": "Type of the channel", "enum": [ "custom", "smtp", "twilio" ] }, "send_as": { "type": "string", "description": "Sending address of your channel. Required for SMTP and Twilio channels." } } }, "CreateComment": { "required": [ "body" ], "properties": { "author_id": { "type": "string", "description": "ID of the teammate creating the comment. Alternatively, you can supply the author as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1). If omitted, will post as the API Token or OAuth client of the requester." }, "body": { "type": "string", "description": "Content of the comment. Can include markdown formatting." }, "is_pinned": { "type": "boolean", "description": "Whether or not the comment is pinned in its conversation." }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://gist.github.com/hdornier/e04d04921032e98271f46ff8a539a4cb) or read more about [Attachments](https://dev.frontapp.com/docs/attachments-1). Max 25 MB.", "type": "array", "items": { "type": "string", "format": "binary" } } } }, "CreateContact": { "required": [ "handles" ], "allOf": [ { "$ref": "#/components/schemas/Contact" }, { "type": "object", "properties": { "handles": { "type": "array", "description": "List of the handles for this contact. Each handle object should include `handle` and `source` fields.", "items": { "$ref": "#/components/schemas/ContactHandle" } } } } ] }, "CreateContactList": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the contact list" } } }, "CreateContactNote": { "type": "object", "required": [ "author_id", "body" ], "properties": { "author_id": { "type": "string", "description": "ID of teammate creating the note" }, "body": { "type": "string", "description": "Content of the note" } } }, "CreateConversation": { "required": [ "type", "subject", "comment" ], "properties": { "type": { "description": "Conversation type", "type": "string", "enum": [ "discussion" ] }, "inbox_id": { "description": "Inbox ID for the conversation. Either `inbox_id` OR `teammate_ids` must be provided (not both).", "type": "string" }, "teammate_ids": { "description": "Teammates to add to the conversation. Either `inbox_id` OR `teammate_ids` must be provided (not both).", "type": "array", "items": { "type": "string" } }, "subject": { "description": "Subject of the conversation", "type": "string" }, "comment": { "description": "Details for the starter comment", "type": "object", "required": [ "body" ], "properties": { "author_id": { "description": "ID of the teammate creating the comment. If omitted, will post as the API Token or OAuth client of the requester.", "type": "string" }, "body": { "description": "Content of the comment", "type": "string" }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://gist.github.com/hdornier/e04d04921032e98271f46ff8a539a4cb) or read more about [Attachments](https://dev.frontapp.com/docs/attachments-1).", "type": "array", "items": { "type": "string", "format": "binary" } } } }, "custom_fields": { "description": "Custom fields for this conversation", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "CreateDraft": { "required": [ "body" ], "properties": { "author_id": { "type": "string", "description": "ID of the teammate on behalf of whom the draft will be created. Alternatively, you can supply the author ID as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1). If omitted, will post as the API Token or Application making the request." }, "to": { "type": "array", "description": "List of recipient handles who will receive the message once the draft is sent", "items": { "type": "string" } }, "cc": { "type": "array", "description": "List of recipient handles who will receive a copy of the message once the draft is sent", "items": { "type": "string" } }, "bcc": { "type": "array", "description": "List of the recipient handles who will receive a blind copy of the message once the draft is sent", "items": { "type": "string" } }, "subject": { "type": "string", "description": "Subject of the draft." }, "body": { "type": "string", "description": "Body of the draft" }, "quote_body": { "type": "string", "description": "Body for the quote that the message is referencing. Only available on email channels." }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://gist.github.com/hdornier/e04d04921032e98271f46ff8a539a4cb) or read more about [Attachments](https://dev.frontapp.com/docs/attachments-1). Max 25 MB.", "type": "array", "items": { "type": "string", "format": "binary" } }, "mode": { "description": "Mode of the draft to create. Can be 'private' (draft is visible to the author only) or 'shared' (draft is visible to all teammates with access to the conversation).", "type": "string", "enum": [ "private", "shared" ], "default": "private" }, "signature_id": { "description": "ID of the signature to attach to this draft. If null, no signature is attached.", "type": "string" }, "should_add_default_signature": { "type": "boolean", "description": "Whether or not Front should try to resolve a signature for the message. Is ignored if signature_id is included. Default false;" } } }, "CreateInbox": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The name of the inbox" }, "teammate_ids": { "type": "array", "description": "An array of teammate IDs that should have access to the inbox. Alternatively, you can supply teammate emails as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "$ref": "#/components/schemas/ResourceID" } }, "is_public": { "type": "boolean", "description": "Whether the inbox is public or not" }, "custom_fields": { "description": "Custom fields for this inbox", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "CreateLink": { "type": "object", "description": "A link is used to connect a Front conversation to an external resource.", "properties": { "name": { "type": "string", "description": "Name of the link. If none is specified, the external_url is used as a default" }, "external_url": { "type": "string", "description": "Underlying identifying url of the link" }, "pattern": { "type": "string", "description": "The string that application object configurations will match on to update a specific application object. For example, if you've configured an application object to match on ORDER-{Digits}, and you want to specifically update the application objects for ORDER-777 to retrieve the latest information from external systems, send \"ORDER-777\". Repeat for other specific identifiers, such as \"ORDER-435\".", "example": "ORDER-123" } } }, "CreateMessageTemplateAsChild": { "type": "object", "description": "A message template that is used for pre-written responses", "required": [ "name", "body" ], "properties": { "name": { "type": "string", "description": "Name of the message template", "example": "Out of Office" }, "subject": { "type": "string", "description": "Subject of the message template.", "example": "Out of Office" }, "body": { "type": "string", "description": "Body of the message template. You can supply HTML with inline CSS to structure and style your template.", "example": "
Sorry, I'm OOO until October 25th.
\n" }, "inbox_ids": { "type": "array", "description": "The specific inboxes this template is available in. If unspecified or null, then it will be available in all inboxes. Array should be non-empty.", "items": { "type": "string" }, "example": null } } }, "CreateMessageTemplateFolder": { "type": "object", "description": "A message template folder that is used to store message templates or other folders.", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the message template folder", "example": "PTO templates" }, "parent_folder_id": { "type": "string", "description": "ID of the parent folder to be placed into. Goes into the root folder if unspecified or if null.", "example": null } } }, "CreateMessageTemplateFolderAsChild": { "type": "object", "description": "A message template folder that is used to store message templates or other folders.", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the message template folder", "example": "PTO templates" } } }, "CreatePrivateInbox": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The name of the inbox" }, "custom_fields": { "description": "Custom fields for this inbox", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "CreatePrivateMessageTemplate": { "type": "object", "description": "A message template that is used for pre-written responses", "required": [ "name", "body" ], "properties": { "name": { "type": "string", "description": "Name of the message template", "example": "Out of Office" }, "subject": { "type": "string", "description": "Subject of the message template.", "example": "Out of Office" }, "body": { "type": "string", "description": "Body of the message template. You can supply HTML with inline CSS to structure and style your template.", "example": "Sorry, I'm OOO until October 25th.
\n" }, "folder_id": { "type": "string", "description": "ID of the message template folder to place this message template in", "example": null } } }, "CreatePrivateSignature": { "type": "object", "description": "A signature that can be used to sign messages.", "required": [ "name", "body" ], "properties": { "name": { "type": "string", "description": "Name of the signature" }, "sender_info": { "type": "string", "description": "Sender info of the signature that will appear in the From line of emails sent." }, "body": { "type": "string", "description": "Body of the signature" }, "is_default": { "type": "boolean", "description": "If true, the signature will be set as the default signature for the teammate.", "default": false }, "channel_ids": { "type": "array", "description": "The specific channels this signature is available in. If omitted or null, the signature will be available in all channels the teammate has access to. Alternatively, you can specify channels using a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "type": "string" } } } }, "CreateSharedMessageTemplate": { "type": "object", "description": "A message template that is used for pre-written responses", "required": [ "name", "body" ], "properties": { "name": { "type": "string", "description": "Name of the message template", "example": "Out of Office" }, "subject": { "type": "string", "description": "Subject of the message template.", "example": "Out of Office" }, "body": { "type": "string", "description": "Body of the message template. You can supply HTML with inline CSS to structure and style your template.", "example": "Sorry, I'm OOO until October 25th.
\n" }, "folder_id": { "type": "string", "description": "ID of the message template folder to place this message template in", "example": null }, "inbox_ids": { "type": "array", "description": "The specific inboxes this template is available in. If unspecified or null, then it will be available in all inboxes. Array should be non-empty.", "items": { "type": "string" }, "example": null }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://dev.frontapp.com/docs/attachments-1). Max 25 MB.", "type": "array", "items": { "type": "string", "format": "binary" } } } }, "CreateSharedSignature": { "type": "object", "description": "A signature that can be used to sign messages.", "required": [ "name", "body" ], "properties": { "name": { "type": "string", "description": "Name of the signature" }, "sender_info": { "type": "string", "description": "Sender info of the signature that will appear in the From line of emails sent." }, "body": { "type": "string", "description": "Body of the signature" }, "is_visible_for_all_teammate_channels": { "type": "boolean", "description": "Whether or not the signature is visible in all individual channels for teammates in the given team." }, "is_default": { "type": "boolean", "description": "If true, the signature will be set as the default signature for the team.", "default": false }, "channel_ids": { "type": "array", "description": "The specific channels this signature is available in. If omitted or null, the signature will be available in all channels the team has access to. Alternatively, you can specify channels using a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "type": "string" } } } }, "CreateShift": { "required": [ "name", "color", "timezone", "times", "teammate_ids" ], "properties": { "name": { "type": "string", "description": "Name of the shift" }, "color": { "type": "string", "enum": [ "black", "grey", "pink", "purple", "blue", "teal", "green", "yellow", "orange", "red" ], "description": "Color of the shift" }, "timezone": { "type": "string", "description": "A timezone name as defined in the IANA tz database" }, "times": { "description": "The shift intervals per day of the week", "$ref": "#/components/schemas/ShiftIntervals" }, "teammate_ids": { "type": "array", "description": "List of all the teammate ids who will be part of this shift. Alternatively, you can supply emails as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "CreateTag": { "type": "object", "description": "A tag is a label that can be used to classify conversations.", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the tag", "maxLength": 64 }, "description": { "type": "string", "description": "Description of the tag" }, "highlight": { "type": "string", "description": "Highlight color of the tag.", "enum": [ "grey", "pink", "red", "orange", "yellow", "green", "light-blue", "blue", "purple" ] }, "is_visible_in_conversation_lists": { "type": "boolean", "description": "Whether the tag is visible in conversation lists.", "default": false } } }, "CreateTeamInbox": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The name of the inbox" }, "teammate_ids": { "type": "array", "description": "An array of teammate IDs that should have access to the inbox. Alternatively, you can supply teammate emails as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "$ref": "#/components/schemas/ResourceID" } }, "is_public": { "type": "boolean", "description": "Whether the inbox is public or not" }, "custom_fields": { "description": "Custom fields for this inbox", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "CreateTeammateGroup": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the teammate group" }, "description": { "type": "string", "description": "Description of the teammate group" }, "permissions": { "type": "object", "description": "Permissions for the teammate group", "properties": { "contacts": { "type": "object", "description": "Permissions for accessing contact lists. This only applies if shared contacts permissions are enabled.", "required": [ "access" ], "properties": { "access": { "type": "string", "description": "One of 'all', 'contact_groups', 'contact_lists', or 'none'." }, "contact_group_ids": { "type": "array", "deprecated": true, "description": "List of contact group ids. Can only be specified if access is set to 'contact_groups'. ⚠️ Deprecated. Use access 'contact_lists' and 'contact_list_ids' instead.", "items": { "type": "string" } }, "contact_list_ids": { "type": "array", "description": "List of contact list ids. Can only be specified if access is set to 'contact_lists'.", "items": { "type": "string" } } } } } } } }, "CreateView": { "properties": { "name": { "type": "string", "description": "Name of the view" }, "inbox_ids": { "type": "array", "description": "List of inbox IDs to filter by", "items": { "$ref": "#/components/schemas/ResourceID" } }, "tag_ids": { "type": "array", "description": "List of tag IDs to filter by", "items": { "$ref": "#/components/schemas/ResourceID" } }, "not_tag_ids": { "type": "array", "description": "List of tag IDs to exclude", "items": { "$ref": "#/components/schemas/ResourceID" } }, "no_tags": { "type": "boolean", "description": "Whether to filter for conversations without tags" }, "assignee_ids": { "type": "array", "description": "List of assignee IDs to filter by", "items": { "$ref": "#/components/schemas/ResourceID" } }, "not_assignee_ids": { "type": "array", "description": "List of assignee IDs to exclude", "items": { "$ref": "#/components/schemas/ResourceID" } }, "highlight": { "type": "string", "description": "Color highlight for the view" } }, "required": [ "name", "inbox_ids" ] }, "CustomFieldParameter": { "type": "object", "description": "An object whose key is the `name` property defined for the custom field in the Front UI. The value of the key must use the same `type` specified for the custom field, as described in https://dev.frontapp.com/reference/custom-fields", "example": { "city": "London, UK", "isVIP": true, "renewal_date": 1525417200, "sla_time": 90, "owner": "leela@planet-express.com", "replyTo": "inb_55c8c149", "Job Title": "firefighter" } }, "CustomFieldResponse": { "type": "object", "required": [ "_links", "id", "name", "type", "description" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/custom_fields/fld_co0e" } } }, "id": { "type": "string", "description": "Unique identifier of the custom field", "example": "fld_co0e" }, "name": { "type": "string", "description": "Name of the custom field", "example": "Customer plan" }, "description": { "type": "string", "description": "Description of the custom field", "example": "The billing plan of the customer" }, "type": { "type": "string", "description": "Type of the custom field", "enum": [ "string", "boolean", "datetime", "number", "teammate", "inbox", "enum" ], "example": "enum" }, "values": { "type": "array", "description": "List of possible values for a custom field of type `enum`.", "items": { "type": "object", "properties": { "value": { "type": "string", "description": "Value of the custom field", "example": "Enterprise" }, "label": { "type": "string", "description": "Human readable label for the value", "example": "Customer plan" } } } } } }, "CustomMessage": { "required": [ "sender", "body" ], "properties": { "sender": { "type": "object", "description": "Data of the sender", "required": [ "handle" ], "properties": { "contact_id": { "type": "string", "description": "ID of the contact in Front corresponding to the sender" }, "name": { "type": "string", "description": "Name of the sender" }, "handle": { "type": "string", "description": "Handle of the sender. It can be any string used to uniquely identify the sender. **Important:** When sending a phone number, include a country code preceded by a plus (+) sign. For example, +33 for France. If you do not send a country code or include a plus sign, Front will normalize your phone number to the USA (+1)." } } }, "subject": { "type": "string", "description": "Subject of the message" }, "body": { "type": "string", "description": "Body of the message" }, "body_format": { "type": "string", "description": "Format of the message body. Can be `markdown` (default) or `html`.", "enum": [ "html", "markdown" ], "default": "markdown" }, "metadata": { "type": "object", "properties": { "thread_ref": { "type": "string", "description": "Reference which will be used to thread messages. If omitted, Front threads by sender instead. This reference is unique to custom channels. If you supply a reference generated by another endpoint, the message will not thread into the same conversation." }, "headers": { "type": "object", "description": "Custom object where any internal information can be stored" } } }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://gist.github.com/hdornier/e04d04921032e98271f46ff8a539a4cb) or read more about [Attachments](https://dev.frontapp.com/docs/attachments-1). Max 25 MB.", "type": "array", "items": { "type": "string", "format": "binary" } } } }, "DeleteContactHandle": { "allOf": [ { "$ref": "#/components/schemas/ContactHandle" }, { "type": "object", "properties": { "force": { "type": "boolean", "description": "Force the deletetion of the contact if the handle is the last one", "default": false } } } ] }, "DeleteDraft": { "required": [ "version" ], "properties": { "version": { "type": "string", "description": "Version of the draft" } } }, "EditDraft": { "required": [ "body", "channel_id" ], "allOf": [ { "$ref": "#/components/schemas/ReplyDraft" }, { "type": "object", "properties": { "version": { "type": "string", "description": "Version of the draft" }, "mode": { "description": "Mode of the draft to update. Can only be 'shared' (draft is visible to all teammates with access to the conversation).", "type": "string", "enum": [ "shared" ] } } } ] }, "EventResponse": { "type": "object", "description": "An event is created every time something interesting is happening in Front.", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/events/evt_4ckcra8e" } } }, "id": { "type": "string", "description": "Unique identifier of the event", "example": "evt_4ckcra8e" }, "type": { "type": "string", "description": "Type of event", "enum": [ "assign", "unassign", "archive", "reopen", "trash", "restore", "reminder", "comment", "mention", "inbound", "outbound", "out_reply", "move", "forward", "tag", "untag", "sending_error", "message_bounce_error", "conversations_merged", "link_added", "link_removed", "custom_field_updated", "macro_triggered", "topic_identified", "ticket_status_update", "call_started", "call_abandoned", "call_queued", "call_on_hold", "call_resumed", "call_connected", "call_missed", "call_hangup", "call_transferred" ], "example": "inbound" }, "emitted_at": { "type": "number", "description": "The timestamp when the event has been emitted", "example": 1703102616 }, "source": { "type": "object", "description": "Event source", "properties": { "_meta": { "type": "object", "description": "Metadata about the resource", "properties": { "type": { "description": "Type of resource", "enum": [ "api", "oauth_client", "rule", "teammate", "imap", "gmail", "reminder", "inboxes", "recipient" ], "example": "inboxes" } } }, "data": { "description": "The resource which triggered the event", "oneOf": [ { "$ref": "#/components/schemas/RuleResponse" }, { "$ref": "#/components/schemas/TeammateResponse" }, { "type": "array", "items": { "$ref": "#/components/schemas/InboxResponse" } } ] } } }, "target": { "type": "object", "description": "Partial representation (type & id) of the event's target", "properties": { "_meta": { "type": "object", "description": "Metadata about the resource", "properties": { "type": { "description": "Type of resource", "enum": [ "teammate", "inboxes", "message", "comment", "tag", "deleted_conversation_ids", "link", "custom_field" ], "example": "inboxes" } } }, "data": { "description": "The resource which received the event", "oneOf": [ { "$ref": "#/components/schemas/TeammateResponse" }, { "$ref": "#/components/schemas/InboxResponse" }, { "$ref": "#/components/schemas/TagResponse" }, { "$ref": "#/components/schemas/CommentResponse" }, { "$ref": "#/components/schemas/MessageResponse" }, { "$ref": "#/components/schemas/LinkResponse" } ] } } }, "conversation": { "$ref": "#/components/schemas/ConversationResponse", "description": "The conversation on which the event happened" } } }, "IdentityResponse": { "type": "object", "required": [ "_links", "id", "name" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/me" } } }, "id": { "type": "string", "description": "Unique ID of company", "example": "cmp_k30" }, "name": { "type": "string", "description": "Name of company", "example": "Dunder Mifflin Paper Company, Inc." } } }, "ImportMessage": { "required": [ "sender", "to", "body", "external_id", "created_at", "metadata" ], "properties": { "sender": { "type": "object", "description": "Data of the sender", "required": [ "handle" ], "properties": { "author_id": { "type": "string", "description": "ID of the teammate who is the author of the message. Ignored if the message is inbound." }, "name": { "type": "string", "description": "Name of the sender" }, "handle": { "type": "string", "description": "Handle of the sender. It can be any string used to uniquely identify the sender. **Important:** When sending a phone number, include a country code preceded by a plus (+) sign. For example, +33 for France. If you do not send a country code or include a plus sign, Front will normalize your phone number to the USA (+1)." } } }, "to": { "type": "array", "description": "List of the recipient handles who will receive this message", "items": { "type": "string" } }, "cc": { "type": "array", "description": "List of the recipient handles who will receive a copy of this message", "items": { "type": "string" } }, "bcc": { "type": "array", "description": "List of the recipient handles who will receive a blind copy of this message", "items": { "type": "string" } }, "subject": { "type": "string", "description": "Subject of the message" }, "body": { "type": "string", "description": "Body of the message" }, "body_format": { "type": "string", "description": "Format of the message body. Can be `markdown` (default) or `html`, and can only be specified for `email` type.", "enum": [ "html", "markdown" ], "default": "markdown" }, "external_id": { "type": "string", "description": "External identifier of the message. Front won't import two messages with the same external ID." }, "created_at": { "type": "integer", "description": "Date at which the message as been sent or received." }, "type": { "type": "string", "description": "Type of the message to import. Default is `email`.", "enum": [ "email", "sms", "intercom", "custom" ], "default": "email" }, "assignee_id": { "type": "string", "description": "ID of the teammate who will be assigned to the conversation." }, "tags": { "type": "array", "description": "List of tag names to add to the conversation", "items": { "type": "string" } }, "conversation_id": { "type": "string", "description": "If supplied, Front will thread this message into conversation with the given ID. Note that including this parameter nullifies the `thread_ref` parameter _completely_." }, "metadata": { "type": "object", "required": [ "is_inbound" ], "properties": { "thread_ref": { "type": "string", "description": "Reference which will be used to thread messages. If omitted, Front threads by sender instead. This reference is unique to importing historical messages. If you supply a reference generated by another endpoint, the message will not thread into the same conversation." }, "is_inbound": { "type": "boolean", "description": "Determines if message is received (inbound) or sent (outbound) by you." }, "is_archived": { "type": "boolean", "description": "Determines if message is archived after import.", "default": true }, "should_skip_rules": { "type": "boolean", "description": "Determines if rules should be skipped. `true` by default.", "default": true } } }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://gist.github.com/hdornier/e04d04921032e98271f46ff8a539a4cb) or read more about [Attachments](https://dev.frontapp.com/docs/attachments-1). Max 25 MB.", "type": "array", "items": { "type": "string", "format": "binary" } } } }, "InboxIds": { "type": "object", "required": [ "inbox_ids" ], "properties": { "inbox_ids": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "InboxResponse": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/inboxes/inb_1ix6" }, "related": { "type": "object", "properties": { "teammates": { "type": "string", "description": "Link to inbox teammates", "example": "https://yourCompany.api.frontapp.com/inboxes/inb_1ix6/teammates" }, "conversations": { "type": "string", "description": "Link to inbox conversations", "example": "https://yourCompany.api.frontapp.com/inboxes/inb_1ix6/conversations" }, "channels": { "type": "string", "description": "Link to inbox channels", "example": "https://yourCompany.api.frontapp.com/inboxes/inb_1ix6/channels" }, "owner": { "type": "string", "description": "Link to inbox owner", "example": "https://yourCompany.api.frontapp.com/teams/tim_k30" } } } } }, "id": { "type": "string", "description": "Unique identifier for the inbox", "example": "inb_1ix6" }, "name": { "type": "string", "description": "Name of the inbox", "example": "The Dundies" }, "is_private": { "type": "boolean", "description": "Whether or not the inbox is individual", "example": false }, "is_public": { "type": "boolean", "description": "Whether or not the inbox is available to all members of a team by default", "example": true }, "custom_fields": { "description": "Custom fields for this inbox", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "KnowledgeBaseArticleCreate": { "type": "object", "properties": { "category_id": { "type": "string", "description": "ID of the category this article belongs to" }, "author_id": { "type": "string", "description": "Teammate ID of the article author" }, "subject": { "type": "string", "description": "Subject of the article" }, "content": { "type": "string", "description": "HTML content of the article" }, "status": { "type": "string", "enum": [ "draft", "published" ], "default": "draft", "description": "Article status" } } }, "KnowledgeBaseArticlePatch": { "type": "object", "properties": { "author_id": { "type": "string", "description": "Teammate ID of the article author" }, "subject": { "type": "string", "description": "Subject of the article" }, "content": { "type": "string", "description": "HTML content of the article" }, "status": { "type": "string", "enum": [ "draft", "published" ], "description": "Article status", "default": "draft" } } }, "KnowledgeBaseArticleResponse": { "type": "object", "required": [ "_links", "id", "slug", "name", "status", "keywords", "content", "locale", "attachments" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/knowledge_base_articles/kba_12" }, "related": { "type": "object", "properties": { "knowledge_base": { "type": "string", "description": "Link to the article's knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12" }, "category": { "type": "string", "description": "Link to the article's category", "example": "https://yourCompany.api.frontapp.com/knowledge_base_category/kbc_12" }, "last_editor": { "type": "string", "description": "Link to the article's last editor", "example": "https://yourCompany.api.frontapp.com/teammates/tea_6r55a" } } } } }, "id": { "type": "string", "description": "Unique identifier of the knowledge base article", "example": "kba_12" }, "slug": { "type": "string", "description": "URL slug of the article. Construct the full URL using the template of protocol/knowledge base domain/locale/slug, such as https://yourDomain.com/en/articles/5", "example": "/articles/5" }, "name": { "type": "string", "description": "Name of the article", "example": "Billing 101" }, "status": { "type": "string", "description": "Status of the article", "example": "published" }, "keywords": { "type": "array", "description": "Article keywords", "items": { "type": "string", "example": [ "billing", "returns" ] } }, "content": { "type": "string", "description": "Article HTML content", "example": "To process a return...
" }, "locale": { "type": "string", "description": "Locale of the article", "example": "en" }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Attachment" }, "description": "List of files attached to the article" }, "last_edited_at": { "type": "number", "description": "Timestamp when the article was last edited", "example": 1622672452.363 }, "created_at": { "type": "number", "description": "Timestamp when the article was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the article was updated", "example": 1654309308.278 } } }, "KnowledgeBaseArticleSlimResponse": { "type": "object", "required": [ "_links", "id", "slug", "locales" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/knowledge_base_articles/kba_12" }, "related": { "type": "object", "properties": { "knowledge_base": { "type": "string", "description": "Link to the article's knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12" }, "category": { "type": "string", "nullable": true, "description": "Link to the article's category", "example": "https://yourCompany.api.frontapp.com/knowledge_base_category/kbc_12" }, "content": { "type": "string", "description": "Link to the article's content", "example": "https://yourCompany.api.frontapp.com/knowledge_base_articles/kba_12/content" } } } } }, "id": { "type": "string", "description": "Unique identifier of the knowledge base article", "example": "kba_12" }, "slug": { "type": "string", "description": "URL slug of the article. Construct the full URL using the template of protocol/knowledge base domain/locale/slug, such as https://yourDomain.com/en/articles/5", "example": "/articles/5" }, "locales": { "type": "array", "description": "List of the locales the article supports", "items": { "type": "string", "example": [ "en", "es" ] } }, "created_at": { "type": "number", "description": "Timestamp when the article was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the article was updated", "example": 1654309308.278 } } }, "KnowledgeBaseCategoryCreate": { "type": "object", "required": [ "name" ], "properties": { "parent_category_id": { "type": "string", "description": "ID of the parent category" }, "name": { "type": "string", "description": "Name of the knowledge base category" }, "description": { "type": "string", "description": "Description of the knowledge base category" } } }, "KnowledgeBaseCategoryPatch": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the knowledge base category" }, "description": { "type": "string", "description": "Description of the knowledge base category" } } }, "KnowledgeBaseCategoryResponse": { "type": "object", "required": [ "_links", "id", "name", "description", "is_hidden", "locale" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/knowledge_base_categories/kbc_12" }, "related": { "type": "object", "properties": { "knowledge_base": { "type": "string", "description": "Link to the category's knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12" }, "parent_category": { "type": "string", "nullable": true, "description": "Link to the category's parent", "example": "https://yourCompany.api.frontapp.com/knowledge_base_catgories/kbc_10" }, "articles": { "type": "string", "description": "Link to articles in this category", "example": "https://yourCompany.api.frontapp.com/knowledge_base_categories/kbc_12/articles" } } } } }, "id": { "type": "string", "description": "Unique identifier of the knowledge base category", "example": "kbc_12" }, "name": { "type": "string", "nullable": true, "description": "Category name", "example": "Getting started" }, "description": { "type": "string", "nullable": true, "description": "Description of the category", "example": "How to get started in Front" }, "is_hidden": { "type": "boolean", "description": "Is the category hidden", "example": false }, "locale": { "type": "string", "enum": [ "fr", "en" ], "description": "Locale of this category", "example": "en" }, "created_at": { "type": "number", "description": "Timestamp when the category was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the category was updated", "example": 1654309308.278 } } }, "KnowledgeBaseCategorySlimResponse": { "type": "object", "required": [ "_links", "id", "slug", "is_hidden", "locales" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/knowledge_base_categories/kbc_12" }, "related": { "type": "object", "properties": { "knowledge_base": { "type": "string", "description": "Link to the category's knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12" }, "parent_category": { "type": "string", "nullable": true, "description": "Link to the category's parent", "example": "https://yourCompany.api.frontapp.com/knowledge_base_catgories/kbc_10" }, "articles": { "type": "string", "description": "Link to articles in this category", "example": "https://yourCompany.api.frontapp.com/knowledge_base_categories/kbc_12/articles" } } } } }, "id": { "type": "string", "description": "Unique identifier of the knowledge base category", "example": "kbc_12" }, "slug": { "type": "string", "description": "URL slug of the category. Construct the full URL using the template of protocol/knowledge base domain/locale/slug, such as https://yourDomain.com/en/categories/2", "example": "/categories/2" }, "is_hidden": { "type": "boolean", "description": "Is the category hidden from navigation and breadcrumbs (topics are accessed as direct links)", "example": false }, "locales": { "type": "array", "description": "List of the locales the category supports", "items": { "type": "string", "example": [ "en", "es" ] } }, "created_at": { "type": "number", "description": "Timestamp when the category was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the category was updated", "example": 1654309308.278 } } }, "KnowledgeBaseCreate": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "Name of the knowledge base" }, "type": { "type": "string", "enum": [ "internal", "external" ], "description": "Determines if the knowledge base is publicly available or private only to your company", "default": "external", "example": "internal" } } }, "KnowledgeBasePatch": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the knowledge base" } } }, "KnowledgeBaseResponse": { "type": "object", "required": [ "_links", "id", "name", "status", "type", "locale" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12" }, "related": { "type": "object", "properties": { "articles": { "type": "string", "description": "Link to articles associated to the knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12/articles" }, "categories": { "type": "string", "description": "Link to categories associated to the knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12/categories" } } } } }, "id": { "type": "string", "description": "Unique identifier of the knowledge base", "example": "knb_12" }, "name": { "type": "string", "description": "Knowledge base name", "example": "Company Help Center" }, "status": { "type": "string", "enum": [ "published", "unpublished" ], "description": "Status of the KB", "example": "unpublished" }, "type": { "type": "string", "enum": [ "internal", "external" ], "description": "Type of the KB", "example": "internal" }, "locale": { "type": "string", "enum": [ "fr", "en" ], "description": "Locale of this requested KB", "example": "en" }, "created_at": { "type": "number", "description": "Timestamp when the knowledge base was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the knowledge base was updated", "example": 1654309308.278 } } }, "KnowledgeBaseSlimResponse": { "type": "object", "required": [ "_links", "id", "type", "locales" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12" }, "related": { "type": "object", "properties": { "articles": { "type": "string", "description": "Link to articles associated to the knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12/articles" }, "categories": { "type": "string", "description": "Link to categories associated to the knowledge base", "example": "https://yourCompany.api.frontapp.com/knowledge_bases/knb_12/categories" } } } } }, "id": { "type": "string", "description": "Unique identifier of the knowledge base", "example": "knb_12" }, "type": { "type": "string", "enum": [ "internal", "external" ], "description": "Type of the KB", "example": "internal" }, "locales": { "type": "array", "description": "List of the KB's possible locales", "items": { "type": "string", "example": [ "en", "es" ] } }, "created_at": { "type": "number", "description": "Timestamp when the knowledge base was created", "example": 1622672452.363 }, "updated_at": { "type": "number", "description": "Timestamp when the knowledge base was updated", "example": 1654309308.278 } } }, "LinkResponse": { "type": "object", "description": "A link used to connect a Front conversation to an external resource.", "required": [ "_links", "id", "name", "type", "external_url", "custom_fields" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/links/top_b2wpa" } } }, "id": { "type": "string", "description": "Unique identifier of the link", "example": "top_b2wpa" }, "name": { "type": "string", "description": "Display name of the link", "example": "JIRA-SCRAN-4567" }, "type": { "type": "string", "description": "Type of the link. Typically associated with the underlying link provider (if known)", "example": "app_2f76b9ac738de158" }, "external_url": { "type": "string", "description": "Underlying identifying external URL of the link", "example": "https://dundermifflin.atlassian.net/browse/PB-SCRAN-4567" }, "custom_fields": { "description": "Custom fields for this link", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "MergeContacts": { "required": [ "contact_ids" ], "properties": { "target_contact_id": { "type": "string", "description": "Optional contact ID to merge the other contacts into." }, "contact_ids": { "type": "array", "description": "Array of all the contact IDs of the contacts to be merged. If a target contact id is provided and that contact id is not in this array, the length of this array must be between 1 and 49. If no target contact id is provided or it is contained in this array, the length must be between 2 and 50.", "items": { "type": "string" } } } }, "MessageResponse": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/messages/msg_1q15qmtq" }, "related": { "type": "object", "properties": { "conversation": { "type": "string", "description": "Link to message conversation", "example": "https://yourCompany.api.frontapp.com/conversations/cnv_yo1kg5q" }, "message_replied_to": { "type": "string", "description": "Link to message this message replied to", "example": "https://yourCompany.api.frontapp.com/messages/msg_2y67qldq" }, "message_seen": { "type": "string", "description": "Link to message seen information", "example": "https://yourCompany.api.frontapp.com/messages/msg_1q15qmtq/seen" } } } } }, "id": { "type": "string", "description": "Unique identifier of the message", "example": "msg_1q15qmtq" }, "message_uid": { "type": "string", "description": "Secondary unique identifier of a message. Generated by Front on message creation. Learn more at about the [message UID](https://dev.frontapp.com/reference/messages#creating-a-new-message).", "example": "1eab543f84a0785f7b6b8967cck18f4d" }, "type": { "type": "string", "description": "Type of the message", "enum": [ "call", "custom", "email", "facebook", "front_chat", "googleplay", "intercom", "internal", "phone-call", "sms", "tweet", "tweet_dm", "whatsapp", "yalo_wha" ], "example": "email" }, "is_inbound": { "type": "boolean", "description": "Whether or not the message has been received or sent", "example": false }, "draft_mode": { "type": "string", "nullable": true, "description": "If the message is a draft, describes the draft mode. Can be 'private' (draft is visible to the author only) or 'shared' (draft is visible to all teammates with access to the conversation).", "enum": [ "shared", "private" ], "example": "shared" }, "error_type": { "type": "string", "description": "Type of the error when the draft failed to be sent", "example": null }, "version": { "type": "string", "description": "The current version of the message in Front", "example": "551ba368f3e7803cce51503ee3e58ef0-26028-1701804863304-945c" }, "created_at": { "type": "number", "description": "The timestamp when the message was sent or received", "example": 1701292639 }, "subject": { "type": "string", "description": "Subject of the message", "example": "Jim's pranks are getting out of hand" }, "blurb": { "type": "string", "description": "Preview of the message body", "example": "It's high time we discuss the pranking culture in the office" }, "author": { "$ref": "#/components/schemas/TeammateResponse", "description": "Front teammate who sent this message" }, "recipients": { "type": "array", "items": { "$ref": "#/components/schemas/RecipientResponse" } }, "body": { "type": "string", "description": "Body of the message", "example": "Hi there,
I wanted to let you know that I'm suggesting an update to Dunder Mifflin's Pranking Policy to provide non-humorous employees greater control over their well-being in the office.
" }, "text": { "type": "string", "description": "Text version of the body for email messages", "example": "Hi there,\\n\\nI wanted to let you know that I'm suggesting an update to Dunder Mifflin's Pranking Policy (https://dundermifflin.com/privacy/pranks) to provide non-humorous employees greater control over their well-being in the office." }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Attachment" }, "description": "List of files attached to the message" }, "signature": { "$ref": "#/components/schemas/SignatureResponse", "description": "The signature attached to this message" }, "metadata": { "type": "object", "description": "Optional metadata about the message", "properties": { "intercom_url": { "type": "string", "description": "For `intercom` messages only. URL of the Intercom conversation the message is coming from.", "example": "http://intercom.com" }, "duration": { "type": "integer", "description": "For `truly-call` messages only. Length of the call in seconds.", "example": 189 }, "have_been_answered": { "type": "boolean", "description": "For `truly-call` messages only. Whether or not the call have been answered.", "example": false }, "external_id": { "type": "string", "description": "For `tweet` or 'custom' (partner channel token authenticated) messages only. Unique message identifier in the underlying provider (Twitter or Partner). For custom messages, only present for partner channel token authenticated requests.", "example": "dkd84992kduo903" }, "twitter_url": { "type": "string", "description": "For `tweet` messages only. URL of the tweet.", "example": "https://twitter.com" }, "is_retweet": { "type": "boolean", "description": "For `tweet` messages only. Whether or not the tweet is a retweet.", "example": true }, "have_been_retweeted": { "type": "boolean", "description": "For `tweet` messages only. Whether or not the tweet have been retweeted.", "example": true }, "have_been_favorited": { "type": "boolean", "description": "For `tweet` messages only. Whether or not the tweet have been favorited.", "example": false }, "thread_ref": { "type": "string", "description": "For `custom` messages only. Custom reference which is used to thread messages.", "example": "t0930k9000-394" }, "headers": { "type": "object", "description": "For `custom` messages only. Custom object holding internal information." }, "chat_visitor_url": { "type": "string", "description": "For `front_chat` messages only. Source URL from the chat widget when sending a message.", "example": "https://yourCompany.com/products" } } } } }, "MessageTemplateFolderResponse": { "type": "object", "required": [ "_links", "id", "name" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/message_template_folders/rsf_g2" }, "related": { "type": "object", "properties": { "owner": { "type": "string", "nullable": true, "description": "Link to resource's owner. Null if the current folder does not have an owner.", "example": "https://yourCompany.api.frontapp.com/teams/tim_s47" }, "parent_folder": { "type": "string", "nullable": true, "description": "Link to parent folder. Null if the current folder does not have a parent.", "example": "https://yourCompany.api.frontapp.com/message_template_folders/rsf_g1" }, "child_folders": { "type": "string", "nullable": true, "description": "Link to child folders. Null if the current folder does not have children.", "example": "https://yourCompany.api.frontapp.com/message_template_folders/rsf_g2/message_template_folders" }, "child_answers": { "type": "string", "nullable": true, "description": "Link to message templates contained within this folder or children folders. Null if the current folder does not have any message templates.", "example": "https://yourCompany.api.frontapp.com/message_template_folders/rsf_g2/message_templates" } } } } }, "id": { "type": "string", "description": "Unique identifier of the message template folder", "example": "rsf_g2" }, "name": { "type": "string", "description": "Name of the message template folder", "example": "Complaints to Toby (or about Toby)" }, "created_at": { "type": "number", "description": "Timestamp at which the message template folder was created.", "example": 1680300342.904 }, "updated_at": { "type": "number", "description": "Timestamp at which the message template folder was updated.", "example": 1688668654.501 } } }, "MessageTemplateResponse": { "type": "object", "required": [ "_links", "id", "name", "subject", "body", "attachments", "is_available_for_all_inboxes", "inbox_ids" ], "properties": { "_links": { "type": "object", "properties": { "self": { "type": "string", "description": "Link to resource", "example": "https://yourCompany.api.frontapp.com/responses/rsp_16yc" }, "related": { "type": "object", "properties": { "owner": { "type": "string", "nullable": true, "description": "Link to resource's owner", "example": "https://yourCompany.api.frontapp.com/teams/tim_s47" }, "parent_folder": { "nullable": true, "type": "string", "description": "Link to the parent folder that contains the message template", "example": "https://yourCompany.api.frontapp.com/message_template_folders/rsf_g2" } } } } }, "id": { "type": "string", "description": "Unique identifier of the message template", "example": "rsp_16yc" }, "name": { "type": "string", "description": "Name of the message template", "example": "Pam wedding planning complaint" }, "subject": { "type": "string", "nullable": true, "description": "Subject of the message template", "example": "Work time being used for wedding planning" }, "body": { "type": "string", "description": "Body of the message template", "example": "Pam is spending time planning her wedding at the office. This message WAS NOT sent by Angela.
Sorry, I'm OOO until October 25th.
\n" }, "folder_id": { "type": "string", "description": "ID of the parent folder to be placed into. Goes into the root folder if unspecified or if null." }, "inbox_ids": { "type": "array", "description": "The specific inboxes this template is available in. If null, then it will be available in all inboxes. Array should be non-empty. If unspecified, will retain previous value.", "items": { "type": "string" } }, "attachments": { "description": "Binary data of attached files. Must use `Content-Type: multipart/form-data` if specified. See [example](https://dev.frontapp.com/docs/attachments-1). Max 25 MB. Specify an empty array to delete all attachments from a message template. If unspecified, it will retain previous value.", "type": "array", "items": { "type": "string", "format": "binary" } } } }, "UpdateMessageTemplateFolder": { "type": "object", "description": "A message template folder that is used to store message templates or other folders.", "properties": { "name": { "type": "string", "description": "Name of the message template folder" }, "parent_folder_id": { "type": "string", "description": "ID of the parent folder to be placed into. Goes into the root folder if unspecified or if null." } } }, "UpdateShift": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the shift" }, "color": { "type": "string", "enum": [ "black", "grey", "pink", "purple", "blue", "teal", "green", "yellow", "orange", "red" ], "description": "Color of the shift" }, "timezone": { "type": "string", "description": "A timezone name as defined in the IANA tz database" }, "times": { "description": "The shift intervals per day of the week", "$ref": "#/components/schemas/ShiftIntervals" }, "teammate_ids": { "type": "array", "description": "List of all the teammate ids who will be part of this shift. Alternatively, you can supply emails as a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "$ref": "#/components/schemas/ResourceID" } } } }, "UpdateSignature": { "type": "object", "description": "A signature that can be used to sign messages.", "properties": { "name": { "type": "string", "description": "Name of the signature" }, "sender_info": { "type": "string", "description": "Sender info of the signature that will appear in the From line of emails sent." }, "body": { "type": "string", "description": "Body of the signature" }, "is_visible_for_all_teammate_channels": { "type": "boolean", "description": "Whether or not the signature is visible in all individual channels for teammates in the given team. Can only be set for shared signatures." }, "is_default": { "type": "boolean", "description": "If true, the signature will be set as the default signature for the team or teammate.", "default": false }, "channel_ids": { "type": "array", "description": "The specific shared channels this signature if available in. If null, then it will be available in all channels. If unspecified, will retain previous value. Alternatively, you can specify channels using a [resource alias](https://dev.frontapp.com/docs/resource-aliases-1).", "items": { "type": "string" } } } }, "UpdateTag": { "properties": { "name": { "type": "string", "description": "Name of the tag", "maxLength": 64 }, "description": { "type": "string", "description": "Description of the tag" }, "highlight": { "type": "string", "description": "Highlight color of the tag.", "enum": [ "grey", "pink", "red", "orange", "yellow", "green", "light-blue", "blue", "purple" ] }, "parent_tag_id": { "type": "string", "description": "ID of the parent of this tag. Set to `null` to remove the parent tag." }, "is_visible_in_conversation_lists": { "type": "boolean", "description": "Whether the tag is visible in conversation lists." } } }, "UpdateTeammate": { "properties": { "username": { "type": "string", "description": "New username. It must be unique and can only contains lowercase letters, numbers and underscores." }, "first_name": { "type": "string", "description": "New first name" }, "last_name": { "type": "string", "description": "New last name" }, "is_available": { "type": "boolean", "description": "New availability status" }, "custom_fields": { "description": "Custom fields for this teammate. If you want to keep all custom fields the same when updating this resource, do not include any custom fields in the update. If you want to update custom fields, make sure to include all custom fields, not just the fields you want to add or update. If you send only the custom fields you want to update, the other custom fields will be erased. You can retrieve the existing custom fields before making the update to note the current fields.", "$ref": "#/components/schemas/CustomFieldParameter" } } }, "UpdateTeammateGroup": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the teammate group" }, "description": { "type": "string", "description": "Description of the teammate group" }, "permissions": { "type": "object", "description": "Permissions for the teammate group", "properties": { "contacts": { "type": "object", "description": "Permissions for accessing contact lists. This only applies if shared contacts permissions are enabled.", "required": [ "access" ], "properties": { "access": { "type": "string", "description": "One of 'all', 'contact_groups', 'contact_lists', or 'none'." }, "contact_group_ids": { "type": "array", "deprecated": true, "description": "List of contact group ids. Can only be specified if access is set to 'contact_groups'. ⚠️ Deprecated. Use access 'contact_lists' and 'contact_list_ids' instead.", "items": { "type": "string" } }, "contact_list_ids": { "type": "array", "description": "List of contact list ids. Can only be specified if access is set to 'contact_lists'.", "items": { "type": "string" } } } } } } } }, "UpdateView": { "properties": { "name": { "type": "string", "description": "Name of the view" }, "inbox_ids": { "type": "array", "description": "List of inbox IDs to filter by", "items": { "$ref": "#/components/schemas/ResourceID" } }, "tag_ids": { "type": "array", "description": "List of tag IDs to filter by", "items": { "$ref": "#/components/schemas/ResourceID" } }, "not_tag_ids": { "type": "array", "description": "List of tag IDs to exclude", "items": { "$ref": "#/components/schemas/ResourceID" } }, "no_tags": { "type": "boolean", "description": "Whether to filter for conversations without tags" }, "assignee_ids": { "type": "array", "description": "List of assignee IDs to filter by", "items": { "$ref": "#/components/schemas/ResourceID" } }, "not_assignee_ids": { "type": "array", "description": "List of assignee IDs to exclude", "items": { "$ref": "#/components/schemas/ResourceID" } }, "highlight": { "type": "string", "description": "Color highlight for the view" } } } }, "securitySchemes": { "http": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } }, "parameters": { "activityQuery": { "name": "q", "in": "query", "description": "[Search query object](https://dev.frontapp.com/docs/query-object-q) with optional properties `before`, `after`, `types`, or `inboxes`. `before` and `after` should be a timestamp in seconds with up to 3 decimal places. `types` should be a list of [event types](https://dev.frontapp.com/reference/events). `inboxes` should be a list of inbox IDs.", "schema": { "type": "string" } }, "cardQuery": { "name": "q", "in": "query", "description": "[Search query object](https://dev.frontapp.com/docs/query-object-q) with the optional properties `updated_after` and `updated_before`, whose value should be a timestamp in seconds with up to 3 decimal places.", "schema": { "type": "string" } }, "conversationQuery": { "name": "q", "in": "query", "description": "[Search query object](https://dev.frontapp.com/docs/query-object-q) with a property `statuses`, whose value should be a list of conversation statuses (`assigned`, `unassigned`, `archived`, or `trashed`). If ticketing is enabled, this endpoint accepts either `status_categories` (`open`, `waiting`, `resolved`) or `status_ids` as an alternative.", "schema": { "type": "string" } }, "topicQuery": { "name": "q", "in": "query", "description": "[Search query object](https://dev.frontapp.com/docs/query-object-q) with a property `types`, whose value should be a list of link types. Links created via the API have type `web` and links created by application objects have type `app_