Attachments (V1)

Attachments (V1) APIs allows a user to upload an attachment and to include this attachment in any order or request. These attachments may also be deleted.

POST Attachments File

POST /attachments/file
Method POST
URL or End Point /v1/attachments/file
Headers Authorization, Content-Type
Query Parameters purpose
Form Data file
Body Not applicable

This method creates an attachment to be uploaded. The returned attachment ID and attachment name will be used with other POST methods that require an attachment. For example, when you upload a Letter of Authorization (LOA) file or purchase order file using this method, the attachment IDs and names generated can be included in your request to create a cross connect.

The attachment size limit per file is 10 MB in the following formats: bmp, jpg, jpeg, gif, png, tif, tiff, txt, doc, docx, xls, xlsx, ppt, pps, ppsx, pdf, and vsd.

However, depending on the order or attachment type, the size of the file and the number of files that can be attached with a POST API may vary. Refer to the description of the attachment object in the request body parameter for the specific POST API.

Each attachment will only be stored for up to 40 days from the day of creation. The returned attachment ID number will no longer be valid after this time.

The attachment ID is exclusive to the original user who uploaded the attachment, and cannot be used by other users.

When using a GET call to retrieve order or ticket details, the attachment ID returned may appear different than the ID submitted. This is expected behaviour, so you may ignore this. However, the attachment name returned should match the original attachment name in this POST call. We recommend that you avoid having hard dependency on attachment ID from this method.

The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response for this API. The response indicates that a user can upload a file, 'letter_of_authorization294850.docx'.

Copy
curl -X
POST "https://api.equinix.com/v1/attachments/file?purpose=LOA"
-H "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"
-H "content-type: application/x-www-form-urlencoded"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-F 'uploadFile=@/C:/Users/johndoe/Desktop/letter_of_authorization294850.docx'

The description of the request parameters is as follows:

When 'Conditional' is indicated for a request parameter, refer to Description for further details.

Form Parameter Name Mandatory Type Example Description
uploadFile Yes file letter_of_authorization294850.docx The name of the file to be uploaded.

This original name of the file will be saved as the attachment name in Equinix's system. Once uploaded, the attachment name cannot be changed.

Query Parameter Name Mandatory Type Example Applicable Values Description
purpose Conditional string LOA LOA,
PO_DOCUMENT

Purpose of the file to be uploaded.

E.g. Letter of Authorization (LOA) for Cross Connect, Purchase Order (PO) document.

When an LOA or PO document is uploaded, this is a mandatory query parameter for background validation purposes.
Copy
{
    "attachmentId": "abc1fd2e-345f-67g4-hi89-01jk234l5m6n",
    "attachmentName": "letter_of_authorization294850.docx",
    "attachmentType": "docx",
    "attachmentSize": 35242,
    "createdDate": "2019-07-02T02:46:27.105Z",
    "createdBy": "johnDoe",
    "lastUpdatedDate": "2019-07-02T02:46:27.105Z"
}

The description of the response payload is as follows:

Field name Type Example Description
attachmentId string abc1fd2e-345f-67g4-hi89-01jk234l5m6n ID of the file uploaded (attachment). This is a fixed identifier unique to the attachment.

This is mandatory to include in other POST APIs with attachments.

This is mandatory to include when deleting or retrieving this attachment.

attachmentName string letter_of_authorization294850.docx Name of the file uploaded (attachment).

This attachment name will remain unchanged in Equinix's system.

When including this attachment in other POST API request bodies, the attachment name may be changed by the user for their reference. However, this original attachment name will remain unchanged and linked to the attachment ID number in Equinix's system.

For example, the attachment name is registered in the system as 'letter_of_authorization294850.docx', but while including this in a cross connect order, it may be named as 'letter_of_authorization294850.docx' or be changed to '2019-LOAforAkamai1.docx', based on user's preference. However, when using a GET call to retrieve order or ticket details, the original attachment name 'letter_of_authorization294850.docx' will be the only name linked to this attachment.

attachmentType string docx Type of file uploaded.
attachmentSize string 35242 Size of file uploaded in bytes.
createdDate string 2019-07-02T02:46:27.105Z Date and time (UTC time zone) that file was uploaded (following ISO 8601 Datetime format).
createdBy string johnDoe

UserName of user who uploaded the file.

The file will only be stored for up to 40 days from this date before being deleted. After this, the file would have to be uploaded again and the new attachmentId and attachmentName would have to be used.
lastUpdatedDate string 2019-07-02T02:46:27.105Z Date and time (UTC time zone) that file was last accessed (following ISO 8601 Datetime format).

If you get “Insufficient permissions” error, contact your Master Administrator.

DELETE Attachments {attachmentId}

DELETE /attachments/{attachmentId}
Method DELETE
URL or End Point /v1/attachments/{attachmentId}
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Not applicable

This API deletes a specific attachment file. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.

If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Access Token section.

The following screenshots show a sample curl request and JSON response to delete a connection with attachment ID, ce123d45-1f23-1ca2-1e23-12345f67890a.

Copy
curl -X
DEL "https://api.equinix.com/v1/attachments/abc1fd2e-345f-67g4-hi89-01jk234l5m6n"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

The description of the URL parameter is as follows:

URL Parameter Name Mandatory Type Example values Description
attachmentId Yes string abc1fd2e-345f-67g4-hi89-01jk234l5m6n

Attachment ID number.

This is an identifier unique to each attachment. This is exclusive to the original user who created the attachment, and can only be used by the original user.
Copy
{
    "status": true
}

The description of the response payload is as follows:

Field name Type Example values Description
status string true

Indicates the status of the Delete API call.

If 'true', attachment was successfully deleted.

If attachment was not succesfully deleted, error message will be returned.

If you get “Insufficient permissions” error, contact your Master Administrator.