openapi: 3.2.0 info: description: Close CRM REST API title: Close Email Templates API version: 1.0.0 servers: - url: https://api.close.com/api/v1 security: - ApiKeyAuth: [] - OAuth2: [] tags: - name: email_templates externalDocs: url: https://developer.close.com/api/resources/email-templates paths: /email_template/: get: operationId: email_templates_list tags: - email_templates summary: List email templates parameters: - $ref: '#/components/parameters/LimitParam' - $ref: '#/components/parameters/SkipParam' - in: query name: is_archived required: false schema: type: boolean - in: query name: is_shared required: false schema: type: boolean responses: '200': content: application/json: example: data: - attachments: [] body: You should try Close. created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA date_created: '2013-02-20T09:20:14.229000+00:00' date_updated: '2013-02-20T09:20:14.229000+00:00' id: tmpl_bTl0wRVLuzCpYkJnLX76KcbuYFpa4YEJVKNE19RGHUq is_archived: false is_shared: true name: Cold 1 organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH subject: I bet using other sales tool sucks updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA has_more: false description: Successful response '400': description: Bad request '401': description: Unauthorized '404': description: Not found post: operationId: email_templates_create tags: - email_templates summary: Create an email template parameters: - $ref: '#/components/parameters/FieldsParam' requestBody: content: application/json: example: attachments: - content_type: image/jpeg filename: image.jpg size: 1108447 url: https://app.close.com/go/file/temporary/user_Ova4RGFG7pztSeJiiMFdN7O2MFl71nD0uGO3bIOo4Wk/1Zx0AlY1DwBXzKKrVwpAoj/image.jpg/ body: test inbound body of an email. is_shared: false name: inbound 1 subject: test inbound subject required: true responses: '200': content: application/json: example: attachments: - content_id: null content_type: image/jpeg filename: image.jpg inline_only: false size: 1108447 url: https://app.close.com/go/file/persisted/orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH/email_template/tmpl_bTl0wRVLuzCpYkJnLX76KcbuYFpa4YEJVKNE19RGHUq/1Zx0AlY1DwBXzKKrVwpAoj/image.jpg/ body: test inbound body of an email. created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA date_created: '2013-02-20T09:20:14.229000+00:00' date_updated: '2013-02-20T09:20:14.229000+00:00' id: tmpl_bTl0wRVLuzCpYkJnLX76KcbuYFpa4YEJVKNE19RGHUq is_archived: false is_shared: false name: inbound 1 organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH subject: test inbound subject updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA used_by_sequences: [] description: Successful response '400': description: Bad request '401': description: Unauthorized '404': description: Not found /email_template/{id}/: get: operationId: email_templates_get tags: - email_templates summary: Fetch an email template parameters: - in: path name: id required: true schema: type: string - $ref: '#/components/parameters/FieldsParam' - in: query name: include_embedded required: false description: Include embedded templates used by Workflows. schema: type: boolean responses: '200': content: application/json: example: attachments: [] body: You should try Close. created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA date_created: '2013-02-20T09:20:14.229000+00:00' date_updated: '2013-02-20T09:20:14.229000+00:00' id: tmpl_bTl0wRVLuzCpYkJnLX76KcbuYFpa4YEJVKNE19RGHUq is_archived: false is_shared: true name: Cold 1 organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH subject: I bet using other sales tool sucks updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA used_by_sequences: - id: seq_1BTljGuCooX0nbFoPihl07 name: My Sequence description: Successful response '400': description: Bad request '401': description: Unauthorized '404': description: Not found put: operationId: email_templates_update tags: - email_templates summary: Update an email template parameters: - in: path name: id required: true schema: type: string - $ref: '#/components/parameters/FieldsParam' requestBody: content: application/json: example: is_shared: true required: true responses: '200': content: application/json: example: attachments: [] body: test inbound body of an email. created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA date_created: '2013-02-20T09:20:14.229000+00:00' date_updated: '2013-02-20T09:20:14.229000+00:00' id: tmpl_bTl0wRVLuzCpYkJnLX76KcbuYFpa4YEJVKNE19RGHUq is_archived: false is_shared: true name: inbound 1 organization_id: orga_RbREgmiiwcr1w2b4cOnCMQaQPSIFxMqAD2Dh243uxcH subject: test inbound subject updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA used_by_sequences: [] description: Successful response '400': description: Bad request '401': description: Unauthorized '404': description: Not found delete: operationId: email_templates_delete tags: - email_templates summary: Delete an email template parameters: - in: path name: id required: true schema: type: string responses: '200': description: Successful response '400': description: Bad request '401': description: Unauthorized '404': description: Not found /email_template/{id}/render/: get: operationId: email_templates_render tags: - email_templates summary: Render an email template description: "Render an email template for the given lead/contact using the current user context.\n\nAccepts two forms of usage:\n\n- Single lead/contact:\n - `lead_id` and `contact_id` is supplied (both required)\n- Preview results from a search query\n - `query` (required) contains a search query\n - `entry` (optional, ranges from 0 to 99) specifies the index of the lead/contact that should be rendered.\n - `mode` (optional), which can have a value of:\n - `lead` (default), the first contact of the lead with the index given by `entry` will be rendered (excluding leads that have no email addresses).\n - `contact`, then `entry` refers to the index of the contact (excluding contacts that have no emails). Will return an empty dict if there are no more entries." parameters: - in: path name: id required: true schema: type: string - in: query name: email_account_id required: false schema: type: string - in: query name: bulk_object_type required: false schema: type: string enum: - lead - contact - in: query name: contact_id required: false schema: type: string - in: query name: contact_preference required: false schema: type: string enum: - lead - contact - all - in: query name: entry required: false schema: type: integer minimum: 0 maximum: 100 - in: query name: lead_id required: false schema: type: string - in: query name: limit required: false schema: type: integer - in: query name: query required: false schema: type: string - in: query name: results_limit required: false schema: type: integer - in: query name: s_query required: false schema: type: string - in: query name: sender required: false schema: type: string format: email - in: query name: sort required: false schema: type: array maxItems: 3 items: type: object properties: direction: type: string enum: - asc - desc field: type: string required: - direction - field - in: query name: mode required: false schema: type: string enum: - lead - contact responses: '200': content: application/json: example: body: 'Hi John, I hope you are having a great day. From, Phil phil@close.com' contact_display_name: John Smith contact_id: cont_NdKMSOuamgB8ZlbNJW2WP17hfL3jQmf0hW6X8ichwQk email: john@example.com lead_display_name: Bluth Company lead_id: lead_vYaUG0D39KdBeqVHbPkmvqaYopsdCBmDXW3tvJgwc2L subject: Checking In description: Successful response '400': description: Bad request '401': description: Unauthorized '404': description: Not found components: parameters: LimitParam: description: Number of results to return. in: query name: _limit required: false schema: default: 100 type: integer FieldsParam: description: Comma-separated list of fields to include in the response. in: query name: _fields required: false schema: type: string SkipParam: description: Number of results to skip before returning, for pagination. in: query name: _skip required: false schema: default: 0 type: integer securitySchemes: ApiKeyAuth: description: Use your API key as the username and leave the password empty. scheme: basic type: http OAuth2: flows: authorizationCode: authorizationUrl: https://app.close.com/oauth2/authorize/ scopes: all.full_access: Full access to all resources offline_access: Request a refresh token tokenUrl: https://api.close.com/oauth2/token/ type: oauth2