openapi: 3.2.0 info: description: Synivere Communication Gateway API version: 1.0.0 title: SCG Attachment API servers: - url: https://api.syniverse.com/scg-external-api/api/v1 tags: - name: Attachment paths: /messaging/attachments: get: tags: - Attachment summary: Creates a new attachment resource description: ' Creates a new attachment resource' parameters: - name: id in: query description: 'Unique identifier ' required: false schema: type: string - name: name in: query description: 'The name of the attachment (e.g. it''s filename or other non-generated identifier) The value of this field should be unique for a given message. ' required: false schema: type: string - name: type in: query description: 'The MIME type of the attachment (if known) ' required: false schema: type: string - name: size in: query description: 'The size, in bytes, of the attachment body ' required: false schema: type: integer - name: filename in: query description: 'Original file name of the attachment ' required: false schema: type: string - name: state in: query description: 'CREATED, UPLOADED ' 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: 'For a MT message (one which was sent via this API), this indicates the time when the API was called to request message delivery. For a MO message, this is the point in time when the SCG was notified of the inbound message from the operator network/mediation channel. ' 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_7' '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: - Attachment summary: Creates a new attachment resource description: ' Creates a new attachment resource' 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/Attachment' /'messaging/attachments/{Attachment_ID}': get: tags: - Attachment summary: Returns the current version of the specified Attachment description: ' Returns the current version of the specified Attachment' parameters: - name: Attachment_ID in: path description: The Attachment ID for this resource. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_7_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 * **1019** - Attachment Too Big - Attachment content size exceeds system limits\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: - Attachment summary: Update a specific attachment id description: ' Update a specific attachment id ' parameters: - name: Attachment_ID in: path description: The Attachment 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 * **1019** - Attachment Too Big - Attachment content size exceeds system limits\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/Attachment_1' delete: tags: - Attachment summary: Delete an attachment description: ' Delete an attachment' parameters: - name: Attachment_ID in: path description: The Attachment 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 * **1019** - Attachment Too Big - Attachment content size exceeds system limits\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. /'messaging/attachments/{Attachment_ID}/access_tokens': post: tags: - Attachment summary: Create a new access token for an attachment description: ' Create a new access token for an attachment' parameters: - name: Attachment_ID in: path description: The Attachment 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/Access_Token' /'messaging/attachments/{Attachment_ID}/content': get: tags: - Attachment summary: Returns the current version of the specified Attachment description: ' Returns the current version of the specified Attachment' parameters: - name: Attachment_ID in: path description: The Attachment ID for this resource. required: true schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/inline_response_200_8' '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 * **1019** - Attachment Too Big - Attachment content size exceeds system limits\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: - Attachment summary: Uploads data to an attachment description: ' Uploads data to an attachment' parameters: - name: Attachment_ID in: path description: The Attachment 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 * **1019** - Attachment Too Big - Attachment content size exceeds system limits\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/Attachment_Data' components: schemas: Access_Token: type: object properties: expiry_time: type: string description: 'The UTC timestamp after which the token is no Integer valid. ' inline_response_200_3: type: object properties: id: type: string description: The identifier for the newly created resource. Attachment_1: type: object properties: name: type: string description: 'The name of the attachment (e.g. it''s filename or other non-generated identifier) The value of this field should be unique for a given message. ' type: type: string description: 'The MIME type of the attachment (if known) ' filename: type: string description: 'Original file name of the attachment ' 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_7: type: object properties: list: type: array items: $ref: '#/components/schemas/inline_response_200_7_list' Attachment_Data: type: object properties: content-data: type: string description: 'The binary data associated with the attachment. The content-type of the HTPP request/reponse is the content type of the data. ' inline_response_200_7_list: type: object properties: id: type: string description: 'Unique identifier ' name: type: string description: 'The name of the attachment (e.g. it''s filename or other non-generated identifier) The value of this field should be unique for a given message. ' type: type: string description: 'The MIME type of the attachment (if known) ' size: type: integer description: 'The size, in bytes, of the attachment body ' filename: type: string description: 'Original file name of the attachment ' state: type: string description: 'CREATED, UPLOADED ' content_url: type: string description: 'The url of the content ' 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 ' application_id: type: integer description: 'ID of the application that has created the resource ' created_date: type: string description: 'For a MT message (one which was sent via this API), this indicates the time when the API was called to request message delivery. For a MO message, this is the point in time when the SCG was notified of the inbound message from the operator network/mediation channel. ' 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 ' Attachment: type: object properties: name: type: string description: 'The name of the attachment (e.g. it''s filename or other non-generated identifier) The value of this field should be unique for a given message. ' type: type: string description: 'The MIME type of the attachment (if known) ' filename: type: string description: 'Original file name of the attachment ' inline_response_200_8: type: object properties: content-data: type: string description: 'The binary data associated with the attachment. The content-type of the HTPP request/reponse is the content type of the data. '