openapi: 3.2.0 info: description: Synivere Communication Gateway API version: 1.0.0 title: SCG Message Template API servers: - url: https://api.syniverse.com/scg-external-api/api/v1 tags: - name: Message Template paths: /messaging/message_templates: get: tags: - Message Template summary: Retrieve all Templates description: ' Retrieve all Templates' parameters: - name: id in: query description: 'The identifier ' required: false schema: type: string - name: designation in: query description: 'The template is used either for VALIDATOR or as an actual TEMPLATE. VALIDATOR type templates will be associated with a sender id and any message that is submitted to a sender ID that has some VALIDATOR templates associated with it will be checked against the template. TEMPLATE type templates are used to send messages. in such case the message request body will indicate with template to apply and the message processing will use the template body and apply conversion of applicable keywords to create the actual message body. NOTE: validator type templates can not be modified by the customer where the message template is associated with a shared sender id ' required: false schema: type: string - name: name in: query description: 'The name of the template. ' required: false schema: type: string - name: pattern in: query description: 'template pattern can be used to enforce compliancy of the message body with the submitted program brief. The template pattern allows also to use the templates to form the message body by using the template pattern and replacing the keywords in the pattern with the values of submitted keywords in the message send from the sender id ' required: false schema: type: string - name: application_id in: query description: 'ID of the application that has created the resource ' required: false schema: type: integer - name: created_date in: query description: 'The date the resource was created ' required: false schema: type: string - name: last_updated_date in: query description: 'The data the resource was last changed ' required: false schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_9' '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. post: tags: - Message Template summary: Create a Template description: ' Create a Template' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_3' '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. requestBody: content: application/json: schema: $ref: '#/components/schemas/Sender_ID_Message_Template' /'messaging/message_templates/{Template_ID}': get: tags: - Message Template summary: Returns the current version of the specified Template description: ' Returns the current version of the specified Template' parameters: - name: Template_ID in: path description: The Template ID for this resource. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_9_list' '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. post: tags: - Message Template summary: Update a Template description: ' Update a Template' parameters: - name: Template_ID in: path description: The Template ID for this resource. required: true schema: type: string responses: '204': description: Successful operation. No Content in reponse. '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. requestBody: content: application/json: schema: $ref: '#/components/schemas/Sender_ID_Message_Template_2' put: tags: - Message Template summary: Replaces the specific template ID. All mandatory fields must be present. description: ' Replaces the specific template ID. All mandatory fields must be present.' parameters: - name: Template_ID in: path description: The Template ID for this resource. required: true schema: type: string responses: '204': description: Successful operation. No Content in reponse. '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. requestBody: content: application/json: schema: $ref: '#/components/schemas/Sender_ID_Message_Template_1' delete: tags: - Message Template summary: Delete a Template description: ' Delete a Template' parameters: - name: Template_ID in: path description: The Template ID for this resource. required: true schema: type: string responses: '204': description: Successful operation. No Content in reponse. '400': description: "Bad Request. The request could not be understood by the server.\n\n * **400** - Bad Request - Error Message provides information about what's wrong with the request\n * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '401': description: "Unauthorized. The request requires user authentication.\n\n * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '402': description: "Payment Required.\n\n * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '403': description: "Forbidden. The user does not have permission to access the specified resource.\n\n * **403** - Forbidden - Access to this resource is not allowed with the current application token\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '404': description: "Not found. The requested resource could not be found.\n\n * **404** - Error message contains details about the missing resource - Requested resource not found\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '409': description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. '500': description: "Server Error. An error has been encountered while processing this request.\n\n * **500** - Server Error - Internal server error. Please report\n" content: application/json: schema: properties: error_code: type: string description: The error code for this error. error_description: type: string description: A human readable description of the error. components: schemas: inline_response_200_9: type: object properties: list: type: array items: $ref: '#/components/schemas/inline_response_200_9_list' inline_response_200_3: type: object properties: id: type: string description: The identifier for the newly created resource. Sender_ID_Message_Template_1: type: object properties: designation: type: string description: 'The template is used either for VALIDATOR or as an actual TEMPLATE. VALIDATOR type templates will be associated with a sender id and any message that is submitted to a sender ID that has some VALIDATOR templates associated with it will be checked against the template. TEMPLATE type templates are used to send messages. in such case the message request body will indicate with template to apply and the message processing will use the template body and apply conversion of applicable keywords to create the actual message body. NOTE: validator type templates can not be modified by the customer where the message template is associated with a shared sender id ' name: type: string description: 'The name of the template. ' pattern: type: string description: 'template pattern can be used to enforce compliancy of the message body with the submitted program brief. The template pattern allows also to use the templates to form the message body by using the template pattern and replacing the keywords in the pattern with the values of submitted keywords in the message send from the sender id ' version_number: type: integer description: 'An ascending version number of the resource. 1 upon creation, incremented by one for each modification done. Used to implement optimistic locking ' Sender_ID_Message_Template_2: type: object properties: designation: type: string description: 'The template is used either for VALIDATOR or as an actual TEMPLATE. VALIDATOR type templates will be associated with a sender id and any message that is submitted to a sender ID that has some VALIDATOR templates associated with it will be checked against the template. TEMPLATE type templates are used to send messages. in such case the message request body will indicate with template to apply and the message processing will use the template body and apply conversion of applicable keywords to create the actual message body. NOTE: validator type templates can not be modified by the customer where the message template is associated with a shared sender id ' name: type: string description: 'The name of the template. ' pattern: type: string description: 'template pattern can be used to enforce compliancy of the message body with the submitted program brief. The template pattern allows also to use the templates to form the message body by using the template pattern and replacing the keywords in the pattern with the values of submitted keywords in the message send from the sender id ' version_number: type: integer description: 'An ascending version number of the resource. 1 upon creation, incremented by one for each modification done. Used to implement optimistic locking ' inline_response_200_9_list: type: object properties: id: type: string description: 'The identifier ' designation: type: string description: 'The template is used either for VALIDATOR or as an actual TEMPLATE. VALIDATOR type templates will be associated with a sender id and any message that is submitted to a sender ID that has some VALIDATOR templates associated with it will be checked against the template. TEMPLATE type templates are used to send messages. in such case the message request body will indicate with template to apply and the message processing will use the template body and apply conversion of applicable keywords to create the actual message body. NOTE: validator type templates can not be modified by the customer where the message template is associated with a shared sender id ' name: type: string description: 'The name of the template. ' pattern: type: string description: 'template pattern can be used to enforce compliancy of the message body with the submitted program brief. The template pattern allows also to use the templates to form the message body by using the template pattern and replacing the keywords in the pattern with the values of submitted keywords in the message send from the sender id ' ownership: type: string description: 'this field determines the ownership category of a shortcode. Applies only for SMS type of sender id''s. Following values are allowed: - PRIVATE -> represents a short code that is private for use by one company only - SHARED -> represents a short code that is owned by Syniverse and where multiple customers can use it. When a customer wants to use a SHARED sender id, a new PRIVATE sender address will be created with parent sender id set to the SHARED sender id - PREPROVISIONED -> represents an address that is owned by Syniverse and can be selected by a customer. Upon a customer selecting a preprovisioned sender address, new sender id document as a copy of the PREPROVISIONED document is created, with state PRIVATE and parent_id pointing the original PREPROVISIONED sender address. The PREPROVISIONED sender address changes ownership to PURCHASED. Once the PRIVATE sender address, pointing to the PURCHASED is deleted, the PURCHASED sender changes its ownership back to PREPROVISIONED. - PURCHASED -> PREPROVISIONED sender address, currently occupied by a customer. ' application_id: type: integer description: 'ID of the application that has created the resource ' created_date: type: string description: 'The date the resource was created ' last_updated_date: type: string description: 'The data the resource was last changed ' version_number: type: integer description: 'An ascending version number of the resource. 1 upon creation, incremented by one for each modification done. Used to implement optimistic locking ' Sender_ID_Message_Template: type: object properties: designation: type: string description: 'The template is used either for VALIDATOR or as an actual TEMPLATE. VALIDATOR type templates will be associated with a sender id and any message that is submitted to a sender ID that has some VALIDATOR templates associated with it will be checked against the template. TEMPLATE type templates are used to send messages. in such case the message request body will indicate with template to apply and the message processing will use the template body and apply conversion of applicable keywords to create the actual message body. NOTE: validator type templates can not be modified by the customer where the message template is associated with a shared sender id ' name: type: string description: 'The name of the template. ' pattern: type: string description: 'template pattern can be used to enforce compliancy of the message body with the submitted program brief. The template pattern allows also to use the templates to form the message body by using the template pattern and replacing the keywords in the pattern with the values of submitted keywords in the message send from the sender id '