NAV Navbar
Home icon
SAS Viya REST APIs
shell javascript
  • Visualization
  • Visualization

    Reports

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    Creates, reads, updates, and deletes reports and report states. Updates report and report state contents.

    Base URLs:

    Get a collection of reports

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports#reports \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Item: application/vnd.sas.summary+json' \
      -H 'Accept-Language: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Item':'application/vnd.sas.summary+json',
      'Accept-Language':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports#reports',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports#reports

    Returns a collection of reports with standard paging, filtering, and sorting options. If the 'Accept-Item' header is omitted or has a value of 'application/vnd.sas.summary+json', the reports are returned in resource summary format. If the 'Accept-Item' header has a value of 'application/vnd.sas.report+json', the reports are returned in the standard report format.

    Parameters

    Parameter In Type Required Description
    Accept-Item header string false Optional header. If omitted, or has a value of 'application/vnd.sas.summary+json', items of application/vnd.sas.summary type are returned. If it has a value of 'application/vnd .sas.report+json', items of 'application/vnd.sas.report' type are returned.
    Accept-Language header string false Optional header. If present, the locale it represents is used in processing.
    start query integer false 0-based offset of the first report to return.
    limit query integer false Maximum number of reports to return.
    filter query string(filter-criteria) false The criteria for filtering. Report attributes that can be used are id, name, description, createdBy, creationTimeStamp, modifiedBy, and modifiedTimeStamp. See Filtering in REST APIs.
    sortBy query string(sort-criteria) false The criteria for sorting. Report attributes that can be used are id, name, description, createdBy, creationTimeStamp, modifiedBy, and modifiedTimeStamp. See Sorting in REST APIs.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.summary+json
    Accept-Item application/vnd.sas.report+json
    Accept-Item application/vnd.sas.report+json;version=1

    Example responses

    200

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "name": "TEST Report",
          "description": "TEST Description",
          "createdBy": "bob",
          "creationTimeStamp": "2016-04-19T14:54:04.705Z",
          "modifiedBy": "bob",
          "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "type": "application/vnd.sas.report"
            },
            {
              "method": "GET",
              "rel": "alternate",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "type": "application/vnd.sas.summary"
            },
            {
              "method": "PUT",
              "rel": "update",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "type": "application/vnd.sas.report",
              "responseType": "application/vnd.sas.report"
            },
            {
              "method": "DELETE",
              "rel": "delete",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
            },
            {
              "method": "GET",
              "rel": "currentUserState",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
              "type": "application/vnd.sas.report.state.info"
            },
            {
              "method": "POST",
              "rel": "createState",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
              "type": "application/vnd.sas.report.state.info"
            },
            {
              "method": "GET",
              "rel": "states",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
              "type": "application/vnd.sas.collection"
            },
            {
              "method": "GET",
              "rel": "content",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
              "type": "application/vnd.sas.report.content"
            },
            {
              "method": "PUT",
              "rel": "updateContent",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
              "type": "application/vnd.sas.report.content",
              "responseType": "application/vnd.sas.report.content"
            },
            {
              "method": "GET",
              "rel": "contentElements",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.report.content.element"
            },
            {
              "method": "GET",
              "rel": "contentVisualElements",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
              "type": "application/vnd.sas.collection",
              "itemType": "application/vnd.sas.report.content.element"
            },
            {
              "method": "POST",
              "rel": "validateContent",
              "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
              "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
              "responseType": "application/vnd.sas.report.content.validation"
            }
          ],
          "imageUris": {
            "icon": "/reports/icons/report.gif"
          },
          "version": 1
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The reports in resource summary format. reportCollection
    400 Bad Request The request was invalid. error2

    Create report

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/reports?parentFolderUri=string \
      -H 'Content-Type: application/vnd.sas.report+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report+json',
      'Accept':'application/vnd.sas.report+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports',
      method: 'post',
      data: '?parentFolderUri=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /reports

    Creates a new report and adds it to a folder as a child.

    Body parameter

    {
      "name": "TEST New Report",
      "description": "TEST New Description"
    }
    

    Parameters

    Parameter In Type Required Description
    parentFolderUri query string(relative URI) true The URI of the folder to which to add the new report.
    body body newReport true The report to create. A full report can be included, but only the name and description are used to create the new report.

    Example responses

    201

    {
      "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
      "name": "TEST Report",
      "description": "TEST Description",
      "createdBy": "bob",
      "creationTimeStamp": "2016-04-19T14:54:04.705Z",
      "modifiedBy": "bob",
      "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.report"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.summary"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.report",
          "responseType": "application/vnd.sas.report"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
        },
        {
          "method": "GET",
          "rel": "currentUserState",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "POST",
          "rel": "createState",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "GET",
          "rel": "states",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "content",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "type": "application/vnd.sas.report.content"
        },
        {
          "method": "PUT",
          "rel": "updateContent",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "type": "application/vnd.sas.report.content",
          "responseType": "application/vnd.sas.report.content"
        },
        {
          "method": "GET",
          "rel": "contentElements",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.report.content.element"
        },
        {
          "method": "GET",
          "rel": "contentVisualElements",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.report.content.element"
        },
        {
          "method": "POST",
          "rel": "validateContent",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
          "responseType": "application/vnd.sas.report.content.validation"
        }
      ],
      "imageUris": {
        "icon": "/reports/icons/report.gif"
      },
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    201 Created New report created. Use the updateContent link in the new report to PUT the report content. ETag header is returned. See Conditional operations. report
    400 Bad Request The input report is invalid, or the parentFolderUri is not a valid folder or was not found. error2
    409 Conflict A report with the same name is already a member of the folder. error2
    Response Headers
    Status Header Type Format Description
    201 Location string The URI of the newly created report.
    201 ETag string A tag that identifies this revision of the object.
    201 Last-Modified string The last modified timestamp of the object.

    Check report status

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reports/reports/{reportId}#standard \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}#standard',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /reports/{reportId}#standard

    Returns the headers for a report, including ETag. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to check.

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Check status operation is successful. None
    404 Not Found Report does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.

    Get a report

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}#standard \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}#standard',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}#standard

    Returns the specified report, including ETag header. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to get.

    Example responses

    200

    {
      "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
      "name": "TEST Report",
      "description": "TEST Description",
      "createdBy": "bob",
      "creationTimeStamp": "2016-04-19T14:54:04.705Z",
      "modifiedBy": "bob",
      "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.report"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.summary"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.report",
          "responseType": "application/vnd.sas.report"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
        },
        {
          "method": "GET",
          "rel": "currentUserState",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "POST",
          "rel": "createState",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "GET",
          "rel": "states",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "content",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "type": "application/vnd.sas.report.content"
        },
        {
          "method": "PUT",
          "rel": "updateContent",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "type": "application/vnd.sas.report.content",
          "responseType": "application/vnd.sas.report.content"
        },
        {
          "method": "GET",
          "rel": "contentElements",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.report.content.element"
        },
        {
          "method": "GET",
          "rel": "contentVisualElements",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.report.content.element"
        },
        {
          "method": "POST",
          "rel": "validateContent",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
          "responseType": "application/vnd.sas.report.content.validation"
        }
      ],
      "imageUris": {
        "icon": "/reports/icons/report.gif"
      },
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Returned the report and ETag header. report
    404 Not Found Report does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string A timestamp of the last modification to the object.

    Get resource summary report

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}#resourceSummary \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.summary+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.summary+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}#resourceSummary',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}#resourceSummary

    Returns the specified report in resource summary format.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to get.

    Example responses

    200

    {
      "id": "string",
      "name": "string",
      "type": "string",
      "description": "string",
      "createdBy": "string",
      "creationTimeStamp": "2018-09-04T15:35:43Z",
      "modifiedBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:43Z",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Returns the report in resource summary format. Inline
    404 Not Found Report does not exist. error2

    Delete a report

    Code samples

    # You can also use wget
    curl -X DELETE https://www.example.com/reports/reports/{reportId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}',
      method: 'delete',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    DELETE /reports/{reportId}

    Deletes the specified report and its content. Remove the report from the parent folder.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to delete.

    Example responses

    404

    Responses

    Status Meaning Description Schema
    204 No Content Report is deleted. None
    404 Not Found Report does not exist. error2

    Update a report

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reports/reports/{reportId} \
      -H 'Content-Type: application/vnd.sas.report+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report+json' \
      -H 'If-Match: string' \
      -H 'If-Unmodified-Since: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report+json',
      'Accept':'application/vnd.sas.report+json',
      'If-Match':'string',
      'If-Unmodified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /reports/{reportId}

    Updates the specified report. Requires an If-Match or If-Unmodified-Since request header. See Conditional operations.

    Body parameter

    {
      "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
      "name": "TEST Update Report",
      "description": "TEST New Description"
    }
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to update.
    If-Match header string false The ETag that was returned from a GET, POST, or PUT of this report. If the ETag does not match, the update will fail.
    If-Unmodified-Since header string false The value of the lastModified date of the report. If the report has been updated since this time, the update will fail.
    body body updateReport true Report to update. A full report can be included, but only id, name, and description are used to update the report.

    Example responses

    200

    {
      "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
      "name": "TEST Report",
      "description": "TEST Description",
      "createdBy": "bob",
      "creationTimeStamp": "2016-04-19T14:54:04.705Z",
      "modifiedBy": "bob",
      "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.report"
        },
        {
          "method": "GET",
          "rel": "alternate",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.summary"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "type": "application/vnd.sas.report",
          "responseType": "application/vnd.sas.report"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
        },
        {
          "method": "GET",
          "rel": "currentUserState",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "POST",
          "rel": "createState",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "GET",
          "rel": "states",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
          "type": "application/vnd.sas.collection"
        },
        {
          "method": "GET",
          "rel": "content",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "type": "application/vnd.sas.report.content"
        },
        {
          "method": "PUT",
          "rel": "updateContent",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
          "type": "application/vnd.sas.report.content",
          "responseType": "application/vnd.sas.report.content"
        },
        {
          "method": "GET",
          "rel": "contentElements",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.report.content.element"
        },
        {
          "method": "GET",
          "rel": "contentVisualElements",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
          "type": "application/vnd.sas.collection",
          "itemType": "application/vnd.sas.report.content.element"
        },
        {
          "method": "POST",
          "rel": "validateContent",
          "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
          "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
          "responseType": "application/vnd.sas.report.content.validation"
        }
      ],
      "imageUris": {
        "icon": "/reports/icons/report.gif"
      },
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Report was updated. report
    400 Bad Request The input report was not valid. error2
    404 Not Found The report does not exist. error2
    412 Precondition Failed The ETag (If-Match) did not match the current version of the object, or the last modified date did not match. error2
    428 Precondition Required The ETag (If-Match), or the last modified date was not provided when updating the report. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.

    Validate report name.

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/reports/name/validation#deprecatedValidateName?value=string \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/name/validation#deprecatedValidateName',
      method: 'post',
      data: '?value=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /reports/name/validation#deprecatedValidateName

    Ensures the name does not exceed the maximum length and, if parentFolderUri is provided, that a report with the name can be added as a member without conflict. The validation does not check whether or not the user can actually add a report with the given name to the folder. This method is deprecated starting with version 3.

    Parameters

    Parameter In Type Required Description
    value query string true The report name in url-encoded format.
    parentFolderUri query string(relative URI) false URI of folder to add a report with the given name.

    Example responses

    400

    Responses

    Status Meaning Description Schema
    204 No Content The report name is valid. None
    400 Bad Request Bad Request. The report name exceeds the maximum allowed length. error2
    404 Not Found Folder does not exist. error2
    409 Conflict Report with the same name is already a member of the folder. error2

    Validate report name

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/reports/validations/name#validateName?value=string \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/validations/name#validateName',
      method: 'post',
      data: '?value=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /reports/validations/name#validateName

    Ensures the name does not exceed the maximum length and, if parentFolderUri is provided, that a report with the name can be added as a member without conflict. The validation does not check whether or not the user can actually add a report with the given name to the folder.

    Parameters

    Parameter In Type Required Description
    value query string true The report name in url-encoded format.
    parentFolderUri query string(relative URI) false URI of folder to add a report with the given name.

    Example responses

    400

    Responses

    Status Meaning Description Schema
    204 No Content The report name is valid. None
    400 Bad Request The report name exceeds the maximum allowed length. error2
    404 Not Found The folder does not exist. error2
    409 Conflict A report with the same name is already a member of the folder. error2

    Check status of report content

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reports/reports/{reportId}/content \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content+json' \
      -H 'Accept-Language: string' \
      -H 'If-None-Match: string' \
      -H 'If-Modified-Since: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.content+json',
      'Accept-Language':'string',
      'If-None-Match':'string',
      'If-Modified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /reports/{reportId}/content

    Returns the headers for report content, including the ETag. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to get content.
    Accept-Language header string false Optional header. If present, the locale it represents is used in the processing.
    If-None-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report or report content. If the ETag matches, the operation will not proceed.
    If-Modified-Since header string false The value of the lastModified date of the report. If the report has not been updated since this time, the operation will not proceed.

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <error2>
      <message>string</message>
      <id>string</id>
      <errorCode>0</errorCode>
      <httpStatusCode>0</httpStatusCode>
      <details>string</details>
      <remediation>string</remediation>
      <errors/>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
      <version>0</version>
    </error2>
    

    Responses

    Status Meaning Description Schema
    200 OK Check status operation was successful. None
    304 Not Modified The caller has the most current object. None
    404 Not Found Report or report content does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.
    200 Content-Language string This header represents the locale of the result. It may not be present if there is issue during localization, in which case the result is what is persisted.

    Get report content

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}/content \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content+json' \
      -H 'Accept-Language: string' \
      -H 'If-None-Match: string' \
      -H 'If-Modified-Since: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.content+json',
      'Accept-Language':'string',
      'If-None-Match':'string',
      'If-Modified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}/content

    Returns the report content, including ETag. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id to get content.
    Accept-Language header string false Optional header. If present, the locale it represents is used in the processing.
    If-None-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report or report content. If the ETag matches, the operation will not proceed.
    If-Modified-Since header string false The value of the lastModified date of the report. If the report has not been updated since this time, the operation will not proceed.

    Example responses

    200

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Responses

    Status Meaning Description Schema
    200 OK Report content. reportContent3
    304 Not Modified The caller has the most current object. error2
    404 Not Found Report or report content does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.
    200 Content-Language string This header represents the locale of the result. It may not be present if there is an issue during localization, in which case the result is what is persisted.

    Save report content

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reports/reports/{reportId}/content \
      -H 'Content-Type: application/vnd.sas.report.content+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*' \
      -H 'If-Match: string' \
      -H 'If-Unmodified-Since: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.content+json',
      'Accept':'*/*',
      'If-Match':'string',
      'If-Unmodified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /reports/{reportId}/content

    Saves the report content. Does not return the stored content. An ETag is not required for the initial save, but is required for all subsequent saves. In some situations, where an Accept type header is automatically generated, setting it to '/' will achieve the same effect as omitting it. See Conditional operations.

    Body parameter

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    If-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report or report content. If the ETag does not match, the update will fail.
    If-Unmodified-Since header string false The value of the lastModified date of the report. If the report has been updated since this time, the update will fail.
    body body reportContent3 true

    Example responses

    400

    Responses

    Status Meaning Description Schema
    204 No Content The report content was stored. None
    400 Bad Request The input report content was not valid. error2
    404 Not Found The report or report content does not exist. error2
    412 Precondition Failed The ETag (If-Match) provided did not match the current version of the object, or the last modified date did not match. error2
    428 Precondition Required The ETag (If-Match), or the last modified date was not provided when updating the report. error2
    Response Headers
    Status Header Type Format Description
    204 ETag string A tag that identifies this revision of the object.
    204 Last-Modified string The last modified timestamp of the object.

    Save and return report content

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reports/reports/{reportId}/content#updateContentWithReturn \
      -H 'Content-Type: application/vnd.sas.report.content+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content+json' \
      -H 'If-Match: string' \
      -H 'If-Unmodified-Since: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.content+json',
      'Accept':'application/vnd.sas.report.content+json',
      'If-Match':'string',
      'If-Unmodified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content#updateContentWithReturn',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /reports/{reportId}/content#updateContentWithReturn

    An ETag is not required for the initial save, but is required for all subsequent saves. See Conditional operations. A different response code is returned depending on whether the request is for the initial save or a subsequent save.

    Body parameter

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    If-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report or report content. If the ETag does not match, the update will fail.
    If-Unmodified-Since header string false The value of the lastModified date of the report. If the report has been updated since this time, the update will fail.
    body body reportContent3 true

    Example responses

    200

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Responses

    Status Meaning Description Schema
    200 OK The report content was updated. reportContent3
    201 Created The report content was created. reportContent3
    400 Bad Request The input report content was not valid. error2
    404 Not Found The report or report content does not exist. error2
    412 Precondition Failed The ETag (If-Match) provided did not match the current version of the object, or the last modified date does not match. error2
    428 Precondition Required The ETag (If-Match), or the last modified date was not provided when updating the report. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.
    201 ETag string A tag that identifies this revision of the object.
    201 Last-Modified string The last modified timestamp of the object.

    Validate the persisted report content schema

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/reports/{reportId}/content/validation#validatePersistedContent \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content.validation+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.content.validation+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content/validation#validatePersistedContent',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /reports/{reportId}/content/validation#validatePersistedContent

    Validates the report content against a schema. The schema specified in the report content is used for validation.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.

    Example responses

    200

    {
      "level": "schemaInvalid",
      "schema": "bird-4.0.1.20160316_promptDefinition.xsd",
      "messages": [
        {
          "type": "schemaError",
          "message": "Line 89: Value 'binder' is not facet-valid with respect to enumeration '[column, page]'. It must be a value from the enumeration."
        },
        {
          "type": "schemaError",
          "message": "Line 89: The value 'binder' of attribute 'type' on element 'Axis' is not valid with respect to its type, 'relationalAxisTypeEnum'."
        }
      ],
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Report content is valid. reportContentValidation
    404 Not Found Report or report content does not exist. error2

    Check report content elements status

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reports/reports/{reportId}/content/elements \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Language: string' \
      -H 'Accept-Item: application/vnd.sas.report.content.element+json;version=1'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Language':'string',
      'Accept-Item':'application/vnd.sas.report.content.element+json;version=1'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content/elements',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /reports/{reportId}/content/elements

    Returns the headers for a report content elements, including ETag. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    characteristics query string false A '|' (bar) separated list of characteristics of elements. A characteristic is a set of attributes of an element. An element has only one type, but it can have many characteristics. If no characteristic is specified, then all elements are returned.
    Accept-Language header string false Optional header. If present, the locale it represents is used in processing.
    Accept-Item header string false Optional header. If omitted, items of application/vnd.sas.report.content.element+json type are returned.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.report.content.element+json
    Accept-Item application/vnd.sas.report.content.element+json;version=1

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Check status operation was successful. None
    404 Not Found The report or report content did not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Content-Language string This header represents the locale of the result. It may not be present if there is an issue during localization, in which case the result is persisted.
    200 Last-Modified string The last modified timestamp of the object.

    Get report content elements

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}/content/elements \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Language: string' \
      -H 'Accept-Item: application/vnd.sas.report.content.element+json;version=1'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Language':'string',
      'Accept-Item':'application/vnd.sas.report.content.element+json;version=1'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/content/elements',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}/content/elements

    Returns the collection of elements.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    characteristics query string false A '|' (bar) separated list of characteristics of elements to return. A characteristic is a set of attributes of an element. An element has only one type but it can have many characteristics. If no characteristic is specified then all elements are returned.
    Accept-Language header string false Optional header. If present, the locale it represents will be used in the processing.
    Accept-Item header string false Optional header. If omitted, items of application/vnd.sas.report.content.element+json type are returned.

    Enumerated Values

    Parameter Value
    Accept-Item application/vnd.sas.report.content.element+json
    Accept-Item application/vnd.sas.report.content.element+json;version=1

    Example responses

    200

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "name": "ve38",
          "label": "Bar Chart 1",
          "type": "Graph",
          "version": 1
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK A collection of report content elements. Paging and sorting are not supported. reportContentElementsCollection
    404 Not Found The report or report content did not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Content-Language string This header represents the locale of the result. It may not be present if there is issue during localization, in which case the result is what is persisted.
    200 Last-Modified string The last modified timestamp of the object.

    Convert content from XML to JSON

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/content#toJSON \
      -H 'Content-Type: application/vnd.sas.report.content+xml' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.content+xml',
      'Accept':'application/vnd.sas.report.content+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/content#toJSON',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /content#toJSON

    Returns the converted report content.

    Body parameter

    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Parameters

    Parameter In Type Required Description
    body body reportContent3 true

    Example responses

    200

    {
      "content": "string"
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Report content. reportContent3
    400 Bad Request The input XML content was not valid. error2

    Convert content from JSON to XML

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/content#toXML \
      -H 'Content-Type: application/vnd.sas.report.content+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content+xml'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.content+json',
      'Accept':'application/vnd.sas.report.content+xml'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/content#toXML',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /content#toXML

    Returns the converted report content.

    Body parameter

    {
      "content": "string"
    }
    

    Parameters

    Parameter In Type Required Description
    body body reportContent3 true

    Example responses

    200

    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Responses

    Status Meaning Description Schema
    200 OK Report content. reportContent3
    400 Bad Request The input JSON content was not valid. error2

    Validate report content schema

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/content/validation#validateAnyContent \
      -H 'Content-Type: application/vnd.sas.report.content+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.content.validation+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.content+json',
      'Accept':'application/vnd.sas.report.content.validation+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/content/validation#validateAnyContent',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /content/validation#validateAnyContent

    Validates the report content against a schema. The schema specified in the report content is used for validation.

    Body parameter

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportContent3>
      <content>string</content>
    </reportContent3>
    

    Parameters

    Parameter In Type Required Description
    body body reportContent3 true Report content to validate.

    Example responses

    200

    {
      "level": "schemaInvalid",
      "schema": "bird-4.0.1.20160316_promptDefinition.xsd",
      "messages": [
        {
          "type": "schemaError",
          "message": "Line 89: Value 'binder' is not facet-valid with respect to enumeration '[column, page]'. It must be a value from the enumeration."
        },
        {
          "type": "schemaError",
          "message": "Line 89: The value 'binder' of attribute 'type' on element 'Axis' is not valid with respect to its type, 'relationalAxisTypeEnum'."
        }
      ],
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Report content is valid. reportContentValidation

    Get a collection of report states

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}/states \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.collection+json' \
      -H 'Accept-Language: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.collection+json',
      'Accept-Language':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}/states

    Returns a collection of report states of the current user associated with a report with standard paging, filtering, and sorting options.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    Accept-Language header string false Optional header. If present, the locale it represents is used in processing, sorting, and filtering.
    start query integer false 0-based offset of the first report state to return.
    limit query integer false Maximum number of report states to return.
    filter query string(filter-criteria) false The criteria for filtering the items. Report state attributes that can be used are id, label, primary, createdBy, creationTimeStamp, modifiedBy, and modifiedTimeStamp. See Filtering in REST APIs.
    sortBy query string(sort-criteria) false The criteria for sorting the items. Report attributes that can be used are id, label, primary, createdBy, creationTimeStamp, modifiedBy, and modifiedTimeStamp. See Sorting in REST APIs.

    Example responses

    200

    {
      "name": "string",
      "start": 0,
      "limit": 0,
      "count": 0,
      "accept": "string",
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0,
      "items": [
        {
          "id": "412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "user": "bob",
          "label": "Test Report State",
          "primary": true,
          "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z",
          "createdBy": "bob",
          "creationTimeStamp": "2018-03-02T19:41:55.314Z",
          "modifiedBy": "bob",
          "modifiedTimeStamp": "2018-03-02T19:41:55.314Z",
          "state": "running",
          "links": [
            {
              "method": "GET",
              "rel": "self",
              "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
              "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
              "type": "application/vnd.sas.report.state.info"
            },
            {
              "method": "PUT",
              "rel": "update",
              "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
              "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
              "type": "application/vnd.sas.report.state.info",
              "responseType": "application/vnd.sas.report.state.info"
            },
            {
              "method": "DELETE",
              "rel": "delete",
              "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
              "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74"
            },
            {
              "method": "GET",
              "rel": "content",
              "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
              "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
              "type": "application/vnd.sas.report.state"
            },
            {
              "method": "PUT",
              "rel": "updateContent",
              "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
              "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
              "type": "application/vnd.sas.report.state",
              "responseType": "application/vnd.sas.report.state"
            }
          ],
          "version": 1
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The report states in standard report state format. reportStateCollection
    400 Bad Request Bad Request. error2

    Create report state

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reports/reports/{reportId}/states \
      -H 'Content-Type: application/vnd.sas.report.state.info+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state.info+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.state.info+json',
      'Accept':'application/vnd.sas.report.state.info+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /reports/{reportId}/states

    Creates a new report state.

    Body parameter

    {
      "label": "Test New Report State",
      "primary": true,
      "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z"
    }
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Report id that is associated with the report state to be created.
    body body newReportState true Report state to create. A full report state can be included, but only the label and primary attributes are used to create the new report state.

    Example responses

    201

    {
      "id": "412f6f71-64eb-4840-a6a5-9a8e18fcad74",
      "user": "bob",
      "label": "Test Report State",
      "primary": true,
      "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z",
      "createdBy": "bob",
      "creationTimeStamp": "2018-03-02T19:41:55.314Z",
      "modifiedBy": "bob",
      "modifiedTimeStamp": "2018-03-02T19:41:55.314Z",
      "state": "running",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "type": "application/vnd.sas.report.state.info",
          "responseType": "application/vnd.sas.report.state.info"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74"
        },
        {
          "method": "GET",
          "rel": "content",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "type": "application/vnd.sas.report.state"
        },
        {
          "method": "PUT",
          "rel": "updateContent",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "type": "application/vnd.sas.report.state",
          "responseType": "application/vnd.sas.report.state"
        }
      ],
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    201 Created New report state created. ETag header is returned. See Conditional operations. reportState
    400 Bad Request Bad Request. The input report state was not valid. error2
    404 Not Found Report does not exist. error2
    Response Headers
    Status Header Type Format Description
    201 Location string The URI of the newly created report state.
    201 ETag string A tag that identifies this revision of the object.
    201 Last-Modified string The last modified timestamp of the object.

    Check report state status

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reports/reports/{reportId}/states/{stateId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state.info+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.state.info+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /reports/{reportId}/states/{stateId}

    Returns the headers for a report state, including ETag. Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to check.

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Check status was successful. None
    404 Not Found Report or report state does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.

    Get report state

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}/states/{stateId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state.info+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.state.info+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}/states/{stateId}

    Returns the specified report state, including ETag header. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to get.

    Example responses

    200

    {
      "id": "412f6f71-64eb-4840-a6a5-9a8e18fcad74",
      "user": "bob",
      "label": "Test Report State",
      "primary": true,
      "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z",
      "createdBy": "bob",
      "creationTimeStamp": "2018-03-02T19:41:55.314Z",
      "modifiedBy": "bob",
      "modifiedTimeStamp": "2018-03-02T19:41:55.314Z",
      "state": "running",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "type": "application/vnd.sas.report.state.info",
          "responseType": "application/vnd.sas.report.state.info"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74"
        },
        {
          "method": "GET",
          "rel": "content",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "type": "application/vnd.sas.report.state"
        },
        {
          "method": "PUT",
          "rel": "updateContent",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "type": "application/vnd.sas.report.state",
          "responseType": "application/vnd.sas.report.state"
        }
      ],
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Returns the report state. ETag header is included. reportState
    404 Not Found Report or report state does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.

    Delete report state

    Code samples

    # You can also use wget
    curl -X DELETE https://www.example.com/reports/reports/{reportId}/states/{stateId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}',
      method: 'delete',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    DELETE /reports/{reportId}/states/{stateId}

    Deletes the specified report state.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to delete.

    Example responses

    404

    Responses

    Status Meaning Description Schema
    204 No Content Report state was deleted. None
    404 Not Found Report or report state does not exist. error2

    Update report state

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reports/reports/{reportId}/states/{stateId} \
      -H 'Content-Type: application/vnd.sas.report.state.info+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state.info+json' \
      -H 'If-Match: string' \
      -H 'If-Unmodified-Since: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.state.info+json',
      'Accept':'application/vnd.sas.report.state.info+json',
      'If-Match':'string',
      'If-Unmodified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /reports/{reportId}/states/{stateId}

    Updates the specified report state. Either an If-Match or If-Unmodified-Since request header is required. See Conditional operations.

    Body parameter

    {
      "id": "412f6f71-64eb-4840-a6a5-9a8e18fcad74",
      "label": "Test Updated Report State",
      "primary": true,
      "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z"
    }
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to update.
    If-Match header string false The ETag that was returned from a GET, POST or PUT of this report state. If the ETag does not match, the update will fail.
    If-Unmodified-Since header string false The value of the lastModified date of the report state. If the report state has been updated since this time, the update will fail.
    body body updateReportState true Report state to update. A full report state can be included, but only the label and primary are used to update the report state.

    Example responses

    200

    {
      "id": "412f6f71-64eb-4840-a6a5-9a8e18fcad74",
      "user": "bob",
      "label": "Test Report State",
      "primary": true,
      "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z",
      "createdBy": "bob",
      "creationTimeStamp": "2018-03-02T19:41:55.314Z",
      "modifiedBy": "bob",
      "modifiedTimeStamp": "2018-03-02T19:41:55.314Z",
      "state": "running",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "type": "application/vnd.sas.report.state.info"
        },
        {
          "method": "PUT",
          "rel": "update",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "type": "application/vnd.sas.report.state.info",
          "responseType": "application/vnd.sas.report.state.info"
        },
        {
          "method": "DELETE",
          "rel": "delete",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74"
        },
        {
          "method": "GET",
          "rel": "content",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "type": "application/vnd.sas.report.state"
        },
        {
          "method": "PUT",
          "rel": "updateContent",
          "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content",
          "type": "application/vnd.sas.report.state",
          "responseType": "application/vnd.sas.report.state"
        }
      ],
      "version": 1
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Report state was updated. reportState
    400 Bad Request Bad Request. The input report state was not valid. error2
    404 Not Found Report or report state does not exist. error2
    412 Precondition Failed The ETag (If-Match) provided did not match the current version of the object, or the last modified date did not match. error2
    428 Precondition Required The ETag (If-Match), or the last modified date was not provided when updating the report state. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.

    Check report state content status

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reports/reports/{reportId}/states/{stateId}/content \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state+json' \
      -H 'Accept-Language: string' \
      -H 'If-None-Match: string' \
      -H 'If-Modified-Since: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.state+json',
      'Accept-Language':'string',
      'If-None-Match':'string',
      'If-Modified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}/content',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /reports/{reportId}/states/{stateId}/content

    Returns the headers for a report state content, including ETag. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to check content.
    Accept-Language header string false This is an optional header. If present the locale it represents will be used in the processing.
    If-None-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report state or report state content. If the ETag matches, the operation will not proceed.
    If-Modified-Since header string false The value of the lastModified date of the report state. If the report state has not been updated since this time, the operation will not proceed.

    Example responses

    404

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <error2>
      <message>string</message>
      <id>string</id>
      <errorCode>0</errorCode>
      <httpStatusCode>0</httpStatusCode>
      <details>string</details>
      <remediation>string</remediation>
      <errors/>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
      <version>0</version>
    </error2>
    

    Responses

    Status Meaning Description Schema
    200 OK Check status operation was successful. None
    304 Not Modified The caller has the most current object. None
    404 Not Found Report or report content does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.
    200 Content-Language string This header represents the locale of the result. It may not be present if there is issue during localization, in which case the result is what is persisted.

    Get report state content

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/reports/{reportId}/states/{stateId}/content \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state+json' \
      -H 'Accept-Language: string' \
      -H 'If-None-Match: string' \
      -H 'If-Modified-Since: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.state+json',
      'Accept-Language':'string',
      'If-None-Match':'string',
      'If-Modified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}/content',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /reports/{reportId}/states/{stateId}/content

    Returns the report state content, including ETag. See Conditional operations.

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to get content.
    Accept-Language header string false Optional header. If present, the locale it represents is used in the processing.
    If-None-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report state or report state content. If the ETag matches, the operation will not proceed.
    If-Modified-Since header string false The value of the lastModified date of the report state. If the report state has not been updated since this time, the operation will not proceed.

    Example responses

    200

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportStateContent3>
      <content>string</content>
    </reportStateContent3>
    

    Responses

    Status Meaning Description Schema
    200 OK Report state content. reportStateContent3
    304 Not Modified The caller has the most current object. error2
    404 Not Found Report or report content does not exist. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.
    200 Content-Language string This header represents the locale of the result. It may not be present if there is issue during localization, in which case the result is what is persisted.

    Save report state content

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reports/reports/{reportId}/states/{stateId}/content \
      -H 'Content-Type: application/vnd.sas.report.state+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*' \
      -H 'If-Match: string' \
      -H 'If-Unmodified-Since: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.state+json',
      'Accept':'*/*',
      'If-Match':'string',
      'If-Unmodified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}/content',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /reports/{reportId}/states/{stateId}/content

    Saves the report state content. Does not return the stored state content. An ETag is not required for the initial save, but is required for all subsequent saves. In some situations where Accept type header is automatically generated, setting it to '/' will achieve the same effect as not including it. See Conditional operations.

    Body parameter

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportStateContent3>
      <content>string</content>
    </reportStateContent3>
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to store content.
    If-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report state or report state content. If the ETag does not match, the update will fail.
    If-Unmodified-Since header string false The value of the lastModified date of the report state. If the report state has been updated since this time, the update will fail.
    body body reportStateContent3 true

    Example responses

    400

    Responses

    Status Meaning Description Schema
    204 No Content Report state content was stored. None
    400 Bad Request Bad Request. The input report state content was not valid. error2
    404 Not Found Report state or report state content does not exist. error2
    412 Precondition Failed The ETag (If-Match) provided did not match the current version of the object, or the last modified date did not match. error2
    428 Precondition Required The ETag (If-Match), or the last modified date was not provided when updating the report state content. error2
    Response Headers
    Status Header Type Format Description
    204 ETag string A tag that identifies this revision of the object.
    204 Last-Modified string The last modified timestamp of the object.

    Store and return report state content

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reports/reports/{reportId}/states/{stateId}/content#updateReportStateContentWithReturn \
      -H 'Content-Type: application/vnd.sas.report.state+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.state+json' \
      -H 'If-Match: string' \
      -H 'If-Unmodified-Since: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.state+json',
      'Accept':'application/vnd.sas.report.state+json',
      'If-Match':'string',
      'If-Unmodified-Since':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/reports/{reportId}/states/{stateId}/content#updateReportStateContentWithReturn',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /reports/{reportId}/states/{stateId}/content#updateReportStateContentWithReturn

    Saves and returns the report state content. An ETag is not required for the initial save, but required for all subsequent saves. See Conditional operations. A different response code is returned depending on whether the request is for the initial save or a subsequent save.

    Body parameter

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportStateContent3>
      <content>string</content>
    </reportStateContent3>
    

    Parameters

    Parameter In Type Required Description
    reportId path string(object-id) true Identifier of the report.
    stateId path string(object-id) true Report state id to store content.
    If-Match header string false The ETag that was returned from a GET, POST, PUT, or HEAD of this report state or report state content. If the ETag does not match, the update will fail.
    If-Unmodified-Since header string false The value of the lastModified date of the report state. If the report state has been updated since this time, the update will fail.
    body body reportStateContent3 true

    Example responses

    200

    {
      "content": "string"
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <reportStateContent3>
      <content>string</content>
    </reportStateContent3>
    

    Responses

    Status Meaning Description Schema
    200 OK The report state content was updated. reportStateContent3
    201 Created Report state content was created. reportStateContent3
    400 Bad Request Bad Request. The input report state content was not valid. error2
    404 Not Found Report state or report state content does not exist. error2
    412 Precondition Failed The ETag (If-Match) provided did not match the current version of the object, or the last modified date did not match. error2
    428 Precondition Required The ETag (If-Match), or the last modified date was not provided when updating the report state content. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string A tag that identifies this revision of the object.
    200 Last-Modified string The last modified timestamp of the object.
    201 ETag string A tag that identifies this revision of the object.
    201 Last-Modified string The last modified timestamp of the object.

    Check if reports service is running

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reports/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/',
      method: 'head',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /

    Returns whether or not the reports service is running.

    Example responses

    404

    Responses

    Status Meaning Description Schema
    200 OK Service is running. None
    404 Not Found Service is not running. error2

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reports/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reports/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /

    Returns a collection of links to the top-level collections surfaced through this API.

    Example responses

    200

    {
      "version": 1,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK Top-level links. Inline
    404 Not Found Top-level links not found. error2

    Schemas

    newReport

    Properties
    Name Type Required Description
    name string false The localizable report name.
    description string false The localizable report description.

    newReportState

    Properties
    Name Type Required Description
    label string false The report state label.
    primary boolean false A flag to indicate whether or not this report state is the one to apply when the request does not explicitly specify the ID for a given user-report combination.
    reportModifiedTimeStamp string(date-time) false The time stamp of the associated report when the report state was created.

    updateReport

    Properties
    Name Type Required Description
    id string(object-id) false Report id.
    name string false The localizable report name.
    description string false The localizable report description.

    updateReportState

    Properties
    Name Type Required Description
    id string(object-id) false Report state id.
    label string false The report state label.
    primary boolean false The flag which indicates whether or not this report state is the one to be applied when the request does not explicitly specify the ID for a given user-report combination.
    reportModifiedTimeStamp string(date-time) false The time stamp of the associated report when the report state was created.

    reportCollection

    Properties

    The report collection

    Name Type Required Description
    The report collection any false A collection of reports.

    allOf

    Name Type Required Description
    anonymous object false This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2)
    » name string false The name of the collection.
    » start integer(int64) false The zero-based index of the first item in the collection.
    » limit integer false The number of items that were requested for the collection.
    » count integer(int64) false The number of items in the collection.
    » accept string false A space-delimited list of media types from which an Accept header may be constructed.
    » links [link] false The links that apply to the collection.
    » version integer false The version number of the collection representation. This representation is version 2.

    and

    Name Type Required Description
    anonymous object false
    » items [report] false The array of report representations.

    reportStateCollection

    Properties

    The report state collection

    Name Type Required Description
    The report state collection any false A collection of report states.

    allOf

    Name Type Required Description
    anonymous reportCollection false

    and

    Name Type Required Description
    anonymous object false
    » items [reportState] false The array of report representations.

    reportContentElementsCollection

    Properties

    The report content elements collection

    Name Type Required Description
    The report content elements collection any false A collection of report content elements.

    allOf

    Name Type Required Description
    anonymous reportCollection false

    and

    Name Type Required Description
    anonymous object false
    » items [any] false The array of report representations.
    »» Report content element object false The representation of a report content element.
    »»» name string true The name for the report content element.
    »»» label string false The label for the report content element.
    »»» type string false The type of the report content element.
    »»» version integer false The version number of the report content element representation. This representation is version 1.

    error2

    Properties

    Error

    Name Type Required Description
    message string false The message for the error.
    id string false The string ID for the error.
    errorCode integer false The numeric ID for the error.
    httpStatusCode integer true The HTTP status code for the error.
    details [string] false Messages that provide additional details about the cause of the error.
    remediation string false A message that describes how to resolve the error.
    errors [error2] false Any additional errors that occurred.
    links [link] false The links that apply to the error.
    version integer true The version number of the error representation. This representation is version 2.

    Properties

    Link

    Name Type Required Description
    method string false The HTTP method for the link.
    rel string true The relationship of the link to the resource.
    uri string false The relative URI for the link.
    href string false The URL for the link.
    title string false The title for the link.
    type string false The media type or link type for the link.
    itemType string false If this is a link to a container, itemType is the media type or link type for the items in the container.
    responseType string false The media type or link type of the response body for a PUT, POST, or PATCH operation.
    responseItemType string false The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.

    report

    Properties

    Report

    Name Type Required Description
    id string false The string ID for the report.
    name string true The name for the report.
    description string false The description for the report.
    creationTimeStamp string(date-time) false The time stamp when the report was created.
    createdBy string false The user ID who created the report.
    modifiedTimeStamp string(date-time) false The time stamp when the report properties was modified.
    modifiedBy string false The user ID who modified the report.
    links [link] false The links that apply to the report.
    imageUris object false The map of images of the report.
    version integer false The version number of the report representation. This representation is version 1.

    reportContent3

    Properties

    Report content

    Name Type Required Description
    content string(byte) false The report content, either in JSON or XML format. See Report Transforms Service (v2) for basic understanding of the structure of the content; it is insufficient to guide constructing the content itself. The XML Schema version associated with this version of the media type is http://www.sas.com/sasreportmodel/bird-4.1.2

    reportContentValidation

    Properties

    Report content validation

    Name Type Required Description
    level string true The level of the report content validation. Valid values are 'schemaInvalid' and 'schemaValid'.
    schema string true The schema used for the report content validation.
    messages [any] false The messages generated for the report content validation.
    » type string false The type of validation error. Valid values are 'schemaFatal' and 'schemaError'.
    » message string false The message of validation error.
    version integer false The version number of the report content validation representation. This representation is version 1.

    reportState

    Properties

    Report State

    Name Type Required Description
    id string false The string ID for the report state.
    label string true The label for the report state.
    userId string true The user ID associated with the report state.
    primary boolean false The flag which indicates whether or not this report state is the one to be applied when the request does not explicitly specify the ID for a given user-report combination.
    reportModifiedTimeStamp string(date-time) true The time stamp of the associated report when the report state was created.
    creationTimeStamp string(date-time) false The time stamp when the report state was created.
    createdBy string false The user ID who created the report state.
    modifiedTimeStamp string(date-time) false The time stamp when the report state properties was modified.
    modifiedBy string false The user ID who modified the report state.
    links [link] false The links that apply to the report state.
    version integer false The version number of the report state representation. This representation is version 1.

    reportStateContent3

    Properties

    Report state content

    Name Type Required Description
    content string(byte) false The report state content, either in JSON or XML format. See Report Transforms Service (v2) for basic understanding of the structure of the content; it is insufficient to guide constructing the content itself. The XML Schema version associated with this version of the media type is http://www.sas.com/sasreportmodel/bird-4.1.2

    Usage Notes

    Overview

    The Reports API provides persistence service of reports and their content, and validation for report content. Typical consumers are those who treat the report as an object, such as those who want to move or rename the object, and those who read, write, and update the content, such as report editors and viewers.

    Report Relationships

    A report is identified uniquely by its ID and has sub-components which are its content and, optionally, its states. A report can have only one content, which is a document that can be presented in either XML or JSON format but is saved only in XML format. Report content in JSON format will be converted to XML format prior to being saved. A report can also have zero or more states. Report state captures the current state of a report as a result of user interactions when viewing the report.

    Report content is stored separately from the report. A new report has no content. Storing report content overwrites the previously stored content.

    Terminology

    report

    An object that has as its content a definition for a report. The report object has metadata that enables access to name, description, creator, and modified date without having to handle the content of the report.

    content

    Instructions for how a report instance is created. The content enumerates the data and image resources to allow generation of visual elements such as graphs, tables, and images, and it describes how those visual elements are arranged.

    report content element

    A single part or entity which as a collection make up the report content; identified by its name and attributes.

    report state

    An object whose content is the state of a report. Among other information, the state captures: - Currently selected page - Selections of visual elements - Zoom/Pan value - Sort customizations - Current drill/expand state for hierarchical data

    report state content

    Instructions for how to display a report state instance for a particular user.

    validation

    The process of ensuring report content conforms to a specified schema and semantics.

    Resources

    Root

    Path: /

    The root of the API. This resource contains links to the top-level resources in the API. The response uses the application/vnd.sas.api media type.

    The GET / response includes the following links.

    rel Method Description
    reports GET Return the first page of reports accessible by the user.
    URI: /reports
    Response type: application/vnd.sas.collection
    Response item type: application/vnd.sas.summary or application/vnd.sas.report
    createReport POST Create a report.
    URI: /reports
    Request type: application/vnd.sas.report
    Response type: application/vnd.sas.report
    validateName POST Check whether a name is valid as a report name and test for collisions with an existing folder.
    URI: /validations/name
    convertContentToJSON POST Convert report content from XML to JSON format.
    URI: /content
    Request type: application/vnd.sas.report.content
    Response type: application/vnd.sas.report.content
    convertContentToXML POST Convert report content from JSON to XML format.
    URI: /content
    Request type: application/vnd.sas.report.content
    Response type: application/vnd.sas.report.content
    validateContent POST Check whether the report content is valid.
    URI: /content/validation
    Request type: application/vnd.sas.report.content
    Response type: application/vnd.sas.report.content.validation

    Collection Resources

    Path: /reports

    This API provides collections of reports. Members of the /reports collection are reports, /reports/{id}.

    The reports collection representation is application/vnd.sas.collection. The collection items are either application/vnd.sas.report or application/vnd.sas.summary resources.

    Responses include the following links:

    rel Method Description
    self GET Return the current page from the collection.
    collection GET Return the first page of the collection, without sorting or filtering criteria.
    createReport POST Create a new report.
    prev GET Return the previous page of the collection.
    first GET Return the first page of the collection.
    next GET Return the next page of the collection.
    last GET Return the last page of the collection.

    Sorting and Filtering

    Collections may be sorted and filtered using the ?sortBy= and ?filter= query parameters.

    The default sort order for the /reports collection is by name.

    Filtering and sorting may use the following members of the Report:

    Media Types

    application/vnd.sas.report

    This media type describes a report. The schema is at report.

    application/vnd.sas.report+json

    { "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7", "name": "TEST Report", "description": "TEST Description", "createdBy": "bob", "creationTimeStamp": "2016-04-19T14:54:04.705Z", "modifiedBy": "bob", "modifiedTimeStamp": "2016-04-19T14:55:11.643Z", "links": [ { "method": "GET", "rel": "self", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "type": "application/vnd.sas.report" }, { "method": "GET", "rel": "alternate", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "type": "application/vnd.sas.summary" }, { "method": "PUT", "rel": "update", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "type": "application/vnd.sas.report", "responseType": "application/vnd.sas.report" }, { "method": "DELETE", "rel": "delete", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7" }, { "method": "GET", "rel": "currentUserState", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState", "type": "application/vnd.sas.report.state.info" }, { "method": "POST", "rel": "createState", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states", "type": "application/vnd.sas.report.state.info" }, { "method": "GET", "rel": "states", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states", "type": "application/vnd.sas.collection" }, { "method": "GET", "rel": "content", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content", "type": "application/vnd.sas.report.content" }, { "method": "PUT", "rel": "updateContent", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content", "type": "application/vnd.sas.report.content", "responseType": "application/vnd.sas.report.content" }, { "method": "GET", "rel": "contentElements", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.report.content.element" }, { "method": "GET", "rel": "contentVisualElements", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement", "type": "application/vnd.sas.collection", "itemType": "application/vnd.sas.report.content.element" }, { "method": "POST", "rel": "validateContent", "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation", "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation", "responseType": "application/vnd.sas.report.content.validation" } ], "imageUris": { "icon": "/reports/icons/report.gif" }, "version": 1 }

    application/vnd.sas.report.content

    This media type describes a report content.

    This resource is treated like an indeterminate/opaque object and therefore it has no members.

    Format

    There are two formats supported for application/vnd.sas.report.content: XML and JSON. Both formats are treated as indeterminate/opaque objects.

    application/vnd.sas.report.content.element

    Report content is a collection of elements. The application/vnd.sas.report.content.element media type represent an element that has a name attribute. These elements can be identified or classified based on a set of characteristics. However, at this time, other than 'visualElement', the set of characteristics have not been defined.

    The schema is at report content element.

    application/vnd.sas.report.content.element+json

    { "name": "ve38", "label": "Bar Chart 1", "type": "Graph", "version": 1 }

    application/vnd.sas.report.state.info

    This media type describes a report state. The schema is at report state.

    application/vnd.sas.report.state.info+json

    { "id": "412f6f71-64eb-4840-a6a5-9a8e18fcad74", "user": "bob", "label": "Test Report State", "primary": true, "reportModifiedTimeStamp": "2018-03-02T19:33:41.124Z", "createdBy": "bob", "creationTimeStamp": "2018-03-02T19:41:55.314Z", "modifiedBy": "bob", "modifiedTimeStamp": "2018-03-02T19:41:55.314Z", "links": [ { "method": "GET", "rel": "self", "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74", "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74", "type": "application/vnd.sas.report.state.info" }, { "method": "PUT", "rel": "update", "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74", "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74", "type": "application/vnd.sas.report.state.info", "responseType": "application/vnd.sas.report.state.info" }, { "method": "DELETE", "rel": "delete", "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74", "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74" }, { "method": "GET", "rel": "content", "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content", "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content", "type": "application/vnd.sas.report.state" }, { "method": "PUT", "rel": "updateContent", "href": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content", "uri": "/reports/reports/cb237e1b-b11f-42fb-960c-a48a0c5b1688/states/412f6f71-64eb-4840-a6a5-9a8e18fcad74/content", "type": "application/vnd.sas.report.state", "responseType": "application/vnd.sas.report.state" } ], "version": 1 }

    application/vnd.sas.report.state

    This media type describes report state content, which is used when writing or reading the report state content.

    This resource is treated like an indeterminate/opaque object and therefore it has no members.

    Format

    There are two formats supported for application/vnd.sas.report.state: XML and JSON. Both formats are treated as indeterminate/opaque object.

    application/vnd.sas.report.content.validation

    This media type represents a validation result on report content. The schema is at report content validation.

    application/vnd.sas.report.content.validation

    { "level": "schemaInvalid", "schema": "bird-4.0.1.20160316_promptDefinition.xsd", "messages": [ { "type": "schemaError", "message": "Line 89: Value 'binder' is not facet-valid with respect to enumeration '[column, page]'. It must be a value from the enumeration." }, { "type": "schemaError", "message": "Line 89: The value 'binder' of attribute 'type' on element 'Axis' is not valid with respect to its type, 'relationalAxisTypeEnum'." } ], "version": 1 }

    Error Codes

    HTTP status code errorCode Description
    400 10701 Error occurred during deserialization of the input report.
    400 10702 Error occurred during serialization of the response report.
    400, 409 10708 Unable to add the report to the specified folder.
    400 10709 Missing parentFolderUri parameter.
    400 10713 Unacceptable media type version.
    400 10714 Report name is too long.
    400 10716 Report name is empty.
    400 10746 Media type mismatch between request and report content.
    400 10755 Data mismatch between request and report content.
    400 10757 Report content format conversion error.
    400 10759 Report content save error.
    400 10761 Reading report content error.
    403 10738 Adding a report as a member of a folder is not allowed.
    404 10715 Invalid URI provided during validation.
    404 10728 Report is not found.
    404 10730 Report content is not found.
    404 10736 Folder is not found.
    406 10712 Unacceptable media type and/or media type version.
    406 10743 Downgrade media type version is not allowed.
    406 10748 Missing media type in request.
    412 10722 Mistmatched request ETag header.
    428 10720 Missing request ETag header.
    500 10703 Error occurred while reading from the report repository.
    500 10733 Report content is not found system error.
    500 10740 System error occurred while adding a report as a member of a folder.

    Report Images

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    The reportImages service delivers SVG images representing elements of a report. The images are suitable to the current user, taking row-level-permissions and other factors into consideration.

    Base URLs:

    Delete cached images

    Code samples

    # You can also use wget
    curl -X DELETE https://www.example.com/reportImages/images \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: */*'
    
    
    var headers = {
      'Accept':'*/*'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/images',
      method: 'delete',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    DELETE /images

    Enables administrators to remove cached images for a single report or all cached images.

    Parameters

    Parameter In Type Required Description
    reportUri query string(uri) false If supplied, deletes the cached images associated with the report. Otherwise all cached images are deleted.

    Example responses

    403

    Responses

    Status Meaning Description Schema
    204 No Content The operation was successful, nothing to return. None
    403 Forbidden This operation is restricted to administrators (by default, members of group "ApplicationAdministrators"). error2

    Get report images using request parameters

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportImages/jobs#requestParams?reportUri=string&size=string \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.images.job+json' \
      -H 'Accept-Language: string' \
      -H 'Accept-Locale: string'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.images.job+json',
      'Accept-Language':'string',
      'Accept-Locale':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs#requestParams',
      method: 'post',
      data: '?reportUri=string&size=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /jobs#requestParams

    Creates an asynchronous job for obtaining SVG images for the report. To specify report elements to render, use POST /jobs.

    Parameters

    Parameter In Type Required Description
    reportUri query string true The report from which to generate images.
    layoutType query string false The type of image to render.
    • thumbnail -- selects a suitable report element and reduces the detail to better render at a smaller size.
    • normal -- selects a suitable report element, but there is no reduction of detail.
    • entireSection -- the entire section (page).
    selectionType query string false The selected operation.
    • report -- get a single image, representing the entire report.
    • perSection -- get one image per section.
    • visualElements -- specify the visual elements to render in parameter visualElementNames or visualElementName for the /directImage operation.
    size query string true The size of the rendered image. Format is widthxheight, with no spaces. For example, "268x151".
    wait query number(float) false The number of seconds to wait for an update before returning from the "long poll". The maximum is 30 seconds.
    refresh query boolean false If true, bypass caches and generate a new image.
    sectionIndex query integer(int32) false The section to render. This parameter applies when layoutType==entireSection.
    renderLimit query integer(int32) false Limit how many images to render. For no limit, set to -1. Clients can specify "1" to quickly get the first image and how many remaining images are available.
    visualElementNames query string false If "selectionType=visualElements" is specified, this parameter lists the element names to render. Separate multiple elements with commas.
    Accept-Language header string false The user's locale. For non-thumbnail operations, this locale is a factor for both rendering and caching. For thumbnail requests, typically only the right-to-left aspect is considered. Thumbnails do not typically include localizable content, and consequently are shareable among users with different locales. For details, see Accept-Language.
    Accept-Locale header string false A "format locale" distinct from the user's language (Accept-Language). Usage and syntax is similar to Accept-Language.

    Enumerated Values

    Parameter Value
    layoutType thumbnail
    layoutType normal
    layoutType entireSection
    selectionType report
    selectionType perSection
    selectionType visualElements

    Example responses

    201

    {
      "id": "d145d576-78d0-42d4-a5fc-569cd0533903",
      "version": 2,
      "state": "running",
      "durationMSec": 155,
      "creationTimeStamp": "2017-11-17T18:46:59.774Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "type": "application/vnd.sas.report.images.job+json"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "type": "text/plain"
        }
      ],
      "images": [
        {
          "sectionIndex": 0,
          "sectionName": "vi6",
          "sectionLabel": "Page 1",
          "elementName": "ve41",
          "modifiedTimeStamp": "2017-11-16T18:19:23.600Z",
          "visualType": "Table",
          "size": "268x151",
          "state": "completed",
          "links": [
            {
              "method": "GET",
              "rel": "image",
              "href": "/reportImages/images/K738605462B1380786238.svg",
              "uri": "/reportImages/images/K738605462B1380786238.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        },
        {
          "sectionIndex": 1,
          "sectionName": "vi47",
          "sectionLabel": "Page 2",
          "elementName": "ve50",
          "modifiedTimeStamp": "2017-11-12T14:05:13.450Z",
          "visualType": "pie",
          "size": "268x151",
          "state": "running",
          "links": [
            {
              "method": "GET",
              "rel": "staleImage",
              "href": "/reportImages/images/K738605462B1234567890.svg",
              "uri": "/reportImages/images/K738605462B1234567890.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created The job has both been created and is in the "completed" state; the image(s) are ready. job
    202 Accepted The job has been created, but has not completed. job
    400 Bad Request The request was invalid. error2
    404 Not Found The report could not be found. error2
    500 Internal Server Error Errors reported by internal services. error2
    Response Headers
    Status Header Type Format Description
    201 Location string Location of the completed job.
    202 Location string Location of the running job.

    Get report images using the request body

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportImages/jobs#requestBody \
      -H 'Content-Type: application/vnd.sas.report.images.job.request+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.images.job+json' \
      -H 'Accept-Language: string' \
      -H 'Accept-Locale: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.images.job.request+json',
      'Accept':'application/vnd.sas.report.images.job+json',
      'Accept-Language':'string',
      'Accept-Locale':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs#requestBody',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /jobs#requestBody

    Creates an asynchronous job for obtaining SVG images for the report. All the functionality of the create job with parameters operation is supported, plus the ability to specify a list of report elements to render, each with its own size.

    Body parameter

    {
      "version": 1,
      "reportUri": "/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f",
      "layoutType": "thumbnail",
      "size": "268x151",
      "refresh": true
    }
    

    Parameters

    Parameter In Type Required Description
    wait query number(float) false The number of seconds to wait for an update before returning from the "long poll". The maximum is 30 seconds.
    refresh query boolean false If true, bypass caches and generate a new image.
    Accept-Language header string false The user's locale. For non-thumbnail operations, this locale is a factor for both rendering and caching. For thumbnail requests, typically only the right-to-left aspect is considered. Thumbnails do not typically include localizable content, and consequently are shareable among users with different locales. For details, see Accept-Language.
    Accept-Locale header string false A "format locale" distinct from the user's language (Accept-Language). Usage and syntax is similar to Accept-Language.
    body body jobRequest true The job details here parallel those in the operation that uses request parameters. In addition, supports an array of name/size pairs to specify multiple renderings.

    Example responses

    201

    {
      "id": "d145d576-78d0-42d4-a5fc-569cd0533903",
      "version": 2,
      "state": "running",
      "durationMSec": 155,
      "creationTimeStamp": "2017-11-17T18:46:59.774Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "type": "application/vnd.sas.report.images.job+json"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "type": "text/plain"
        }
      ],
      "images": [
        {
          "sectionIndex": 0,
          "sectionName": "vi6",
          "sectionLabel": "Page 1",
          "elementName": "ve41",
          "modifiedTimeStamp": "2017-11-16T18:19:23.600Z",
          "visualType": "Table",
          "size": "268x151",
          "state": "completed",
          "links": [
            {
              "method": "GET",
              "rel": "image",
              "href": "/reportImages/images/K738605462B1380786238.svg",
              "uri": "/reportImages/images/K738605462B1380786238.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        },
        {
          "sectionIndex": 1,
          "sectionName": "vi47",
          "sectionLabel": "Page 2",
          "elementName": "ve50",
          "modifiedTimeStamp": "2017-11-12T14:05:13.450Z",
          "visualType": "pie",
          "size": "268x151",
          "state": "running",
          "links": [
            {
              "method": "GET",
              "rel": "staleImage",
              "href": "/reportImages/images/K738605462B1234567890.svg",
              "uri": "/reportImages/images/K738605462B1234567890.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created The requested job has both been created, and is in the "completed" state; the image(s) are ready. job
    202 Accepted The requested job has been created but has not completed. job
    400 Bad Request The request was invalid. error2
    404 Not Found The report could not be found. error2
    500 Internal Server Error Errors reported by internal services. error2
    Response Headers
    Status Header Type Format Description
    201 Location string Location of the completed job.
    202 Location string Location of the running job.

    Get report images passing report in request body

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportImages/jobs#reportInBody?size=string \
      -H 'Content-Type: application/vnd.sas.report.content+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.images.job+json' \
      -H 'Accept-Language: string' \
      -H 'Accept-Locale: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.content+json',
      'Accept':'application/vnd.sas.report.images.job+json',
      'Accept-Language':'string',
      'Accept-Locale':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs#reportInBody',
      method: 'post',
      data: '?size=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /jobs#reportInBody

    This operation is identical to POST /jobs (createJobWithParams), except instead of supplying the reportUri parameter, you supply the BIRD report (in JSON or XML) in the request body.

    This operation should be used by a client that has edited the BIRD report.

    To access this operation, the "Content-Type" must be "application/vnd.sas.report.content+json" or "application/vnd.sas.report.content+xml".

    This operation does not benefit from cache based performance.

    Body parameter

    "string"
    

    Parameters

    Parameter In Type Required Description
    layoutType query string false The type of image to render.
    • thumbnail -- selects a suitable report element and reduces the detail to better render at a smaller size.
    • normal -- selects a suitable report element, but there is no reduction of detail.
    • entireSection -- the entire section (page).
    selectionType query string false The selected operation.
    • report -- get a single image, representing the entire report.
    • perSection -- get one image per section.
    • visualElements -- specify the visual elements to render in parameter visualElementNames or visualElementName for the /directImage operation.
    size query string true The size of the rendered image. Format is widthxheight, with no spaces. For example, "268x151".
    wait query number(float) false The number of seconds to wait for an update before returning from the "long poll". The maximum is 30 seconds.
    refresh query boolean false If true, bypass caches and generate a new image.
    sectionIndex query integer(int32) false The section to render. This parameter applies when layoutType==entireSection.
    renderLimit query integer(int32) false Limit how many images to render. For no limit, set to -1. Clients can specify "1" to quickly get the first image and how many remaining images are available.
    visualElementNames query string false If "selectionType=visualElements" is specified, this parameter lists the element names to render. Separate multiple elements with commas.
    Accept-Language header string false The user's locale. For non-thumbnail operations, this locale is a factor for both rendering and caching. For thumbnail requests, typically only the right-to-left aspect is considered. Thumbnails do not typically include localizable content, and consequently are shareable among users with different locales. For details, see Accept-Language.
    Accept-Locale header string false A "format locale" distinct from the user's language (Accept-Language). Usage and syntax is similar to Accept-Language.
    body body string true The report from which to generate images (JSON or XML, per Content-Type header).

    Enumerated Values

    Parameter Value
    layoutType thumbnail
    layoutType normal
    layoutType entireSection
    selectionType report
    selectionType perSection
    selectionType visualElements

    Example responses

    201

    {
      "id": "d145d576-78d0-42d4-a5fc-569cd0533903",
      "version": 2,
      "state": "running",
      "durationMSec": 155,
      "creationTimeStamp": "2017-11-17T18:46:59.774Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "type": "application/vnd.sas.report.images.job+json"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "type": "text/plain"
        }
      ],
      "images": [
        {
          "sectionIndex": 0,
          "sectionName": "vi6",
          "sectionLabel": "Page 1",
          "elementName": "ve41",
          "modifiedTimeStamp": "2017-11-16T18:19:23.600Z",
          "visualType": "Table",
          "size": "268x151",
          "state": "completed",
          "links": [
            {
              "method": "GET",
              "rel": "image",
              "href": "/reportImages/images/K738605462B1380786238.svg",
              "uri": "/reportImages/images/K738605462B1380786238.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        },
        {
          "sectionIndex": 1,
          "sectionName": "vi47",
          "sectionLabel": "Page 2",
          "elementName": "ve50",
          "modifiedTimeStamp": "2017-11-12T14:05:13.450Z",
          "visualType": "pie",
          "size": "268x151",
          "state": "running",
          "links": [
            {
              "method": "GET",
              "rel": "staleImage",
              "href": "/reportImages/images/K738605462B1234567890.svg",
              "uri": "/reportImages/images/K738605462B1234567890.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created The job has both been created and is in the "completed" state; the image(s) are ready. job
    202 Accepted The requested job has been created but has not completed. job
    400 Bad Request The request was invalid. error2
    404 Not Found The report could not be found. error2
    500 Internal Server Error Errors reported by internal services. error2
    Response Headers
    Status Header Type Format Description
    201 Location string Location of the completed job.
    202 Location string Location of the running job.

    Get specified job

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportImages/jobs/{jobId} \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.images.job+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.images.job+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs/{jobId}',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /jobs/{jobId}

    Returns the asynchronous job.

    Parameters

    Parameter In Type Required Description
    jobId path string true The jobId.
    wait query number(float) false The number of seconds to wait for an update before returning from the "long poll". The maximum is 30 seconds.

    Example responses

    200

    {
      "id": "d145d576-78d0-42d4-a5fc-569cd0533903",
      "version": 2,
      "state": "running",
      "durationMSec": 155,
      "creationTimeStamp": "2017-11-17T18:46:59.774Z",
      "links": [
        {
          "method": "GET",
          "rel": "self",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903",
          "type": "application/vnd.sas.report.images.job+json"
        },
        {
          "method": "GET",
          "rel": "state",
          "href": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "uri": "/reportImages/jobs/d145d576-78d0-42d4-a5fc-569cd0533903/state",
          "type": "text/plain"
        }
      ],
      "images": [
        {
          "sectionIndex": 0,
          "sectionName": "vi6",
          "sectionLabel": "Page 1",
          "elementName": "ve41",
          "modifiedTimeStamp": "2017-11-16T18:19:23.600Z",
          "visualType": "Table",
          "size": "268x151",
          "state": "completed",
          "links": [
            {
              "method": "GET",
              "rel": "image",
              "href": "/reportImages/images/K738605462B1380786238.svg",
              "uri": "/reportImages/images/K738605462B1380786238.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve41&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        },
        {
          "sectionIndex": 1,
          "sectionName": "vi47",
          "sectionLabel": "Page 2",
          "elementName": "ve50",
          "modifiedTimeStamp": "2017-11-12T14:05:13.450Z",
          "visualType": "pie",
          "size": "268x151",
          "state": "running",
          "links": [
            {
              "method": "GET",
              "rel": "staleImage",
              "href": "/reportImages/images/K738605462B1234567890.svg",
              "uri": "/reportImages/images/K738605462B1234567890.svg",
              "type": "image/svg+xml"
            },
            {
              "method": "POST",
              "rel": "render",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size=268x151",
              "type": "application/vnd.sas.report.images.job"
            },
            {
              "method": "POST",
              "rel": "resize",
              "href": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "uri": "/reportImages/jobs?elementId=ve50&reportUri=/reports/reports/ffdfe936-80a9-4969-a786-4a314df13f3f&layoutType=thumbnail&size={size}",
              "type": "application/vnd.sas.report.images.job"
            }
          ]
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The requested job, which may be in a terminal state. Terminal states are "completed" and "failed". job
    404 Not Found The job was not found. error2
    500 Internal Server Error Errors reported by internal services. error2

    Get the state of the job

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportImages/jobs/{jobId}/state \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: text/plain'
    
    
    var headers = {
      'Accept':'text/plain'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs/{jobId}/state',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /jobs/{jobId}/state

    Get the state of the specified job.

    Parameters

    Parameter In Type Required Description
    jobId path string true The jobId.

    Example responses

    404

    Responses

    Status Meaning Description Schema
    200 OK The job state. None
    404 Not Found The job was not found. error2
    Response Headers
    Status Header Type Format Description
    200 Content-Type string The content type of the response, text/plain.

    Return the report image

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportImages/directImage?reportUri=string \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: image/svg+xml'
    
    
    var headers = {
      'Accept':'image/svg+xml'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/directImage',
      method: 'get',
      data: '?reportUri=string',
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /directImage

    This operation hides the job architecture and *directly* generates and returns the image. It blocks synchronously until the image is ready or timeout occurs (default 10 seconds). If a timeout occurs, a redirect is returned to the browser, redirecting back to this operation for browser liveness purposes.

    Use of this operation is discouraged because using more than one can starve a browser's requests queue (some browsers are limited to 6 active queries per site), and because the redirect technique employed can fail in the browser after too many redirects (some browsers allow only 10 redirects).

    Any client capable of following the job pattern should NOT use this direct operation.

    Parameters `reportUri` and `size` are required.

    Parameters

    Parameter In Type Required Description
    reportUri query string true The report from which to generate images.
    layoutType query string false The type of image to render.
    • thumbnail -- selects a suitable report element and reduces the detail to better render at a smaller size.
    • normal -- selects a suitable report element, but there is no reduction of detail.
    • entireSection -- the entire section (page).
    selectionType query string false The selected operation.
    • report -- get a single image, representing the entire report.
    • perSection -- get one image per section.
    • visualElements -- specify the visual elements to render in parameter visualElementNames or visualElementName for the /directImage operation.
    refresh query boolean false If true, bypass caches and generate a new image.
    sectionIndex query integer(int32) false The section to render. This parameter applies when layoutType==entireSection.
    visualElementName query string false The report element to render.
    size query string false The size of the rendered image. Format is widthxheight, with no spaces. For example "300x200".
    wait query number(float) false The number of seconds to wait for the result. When this expires, a "redirect" is returned to continue the waiting process. Use caution when setting; some browsers abort after 10 redirects.

    Enumerated Values

    Parameter Value
    layoutType thumbnail
    layoutType normal
    layoutType entireSection
    selectionType report
    selectionType perSection
    selectionType visualElements

    Example responses

    400

    <?xml version="1.0" encoding="UTF-8" ?>
    <error>
      <message>string</message>
      <id>string</id>
      <errorCode>0</errorCode>
      <httpStatusCode>0</httpStatusCode>
      <details>string</details>
      <remediation>string</remediation>
      <errors/>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
      <version>0</version>
    </error>
    

    Responses

    Status Meaning Description Schema
    200 OK The SVG image is returned. None
    303 See Other The operation could not be completed before the wait time expired. This redirect (See Other) continues the process of waiting for the image. It is used (rather than extending the wait period) to provide some liveness to the browser's transmit queue. Note that this redirect will commonly happen, clients which cannot follow a redirect must either not use this method or specify a very long timeout. None
    400 Bad Request The request was invalid. error2
    404 Not Found The report could not be found. error2
    500 Internal Server Error Errors reported by internal services. error2
    Response Headers
    Status Header Type Format Description
    303 Location string A URI back to this service to wait for this image.

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportImages/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /

    The root links for this service.

    Users receive:

    Administrators also receive:

    Example responses

    200

    {
      "version": 1,
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    Status Meaning Description Schema
    200 OK The service's links. Inline

    Get image

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportImages/images/{imageId}.svg \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: image/svg+xml' \
      -H 'If-None-Match: string'
    
    
    var headers = {
      'Accept':'image/svg+xml',
      'If-None-Match':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/images/{imageId}.svg',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /images/{imageId}.svg

    This operation is used by [POST /jobs](#get-report-images-using-the-request-body) to return the `GET` links.

    This operation uses an explicit format modifier ('.svg'). Doing so is to support the primary use case of embedding the link in a web page or other such context where the client cannot pass an 'Accept:' header to specify the image type.

    This URL is secured, and valid only for the current user.

    By protocol, SVG images are always XML. The media type is always 'image/svg+xml'.

    Parameters

    Parameter In Type Required Description
    imageId path string true The system-generated ID returned with the completed job (in the 'image' link).
    If-None-Match header string false Optional ETag. On a match, 304 (not modified) is returned.

    Example responses

    200

    Responses

    Status Meaning Description Schema
    200 OK The image is returned. Caching headers (Cache-Control, Expires, Pragma) are returned encouraging the browser to cache this image. string
    304 Not Modified If the client-supplied entity tag (If-None-Match) matches the current state, the client's image is current. None
    404 Not Found Either the imageId cannot be found, or the underlying image is not in the database.

    If a user other than the one who generated the image uses this link, it is considered a security violation, and a 404 is returned so that the caller does not know the link is an otherwise-valid value.

    error2
    Response Headers
    Status Header Type Format Description
    200 ETag string The entity tag for this image.
    200 Cache-Control string Header returned encouraging the browser to cache this image.
    200 Expires string Header returned encouraging the browser to cache this image.
    200 Pragma string Header returned encouraging the browser to cache this image.

    Get thumbnail images

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportImages/jobs#requestBodyThumbnail \
      -H 'Content-Type: application/vnd.sas.thumbnails.job.request+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.thumbnails.job+json' \
      -H 'Accept-Language: string' \
      -H 'Accept-Locale: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.thumbnails.job.request+json',
      'Accept':'application/vnd.sas.thumbnails.job+json',
      'Accept-Language':'string',
      'Accept-Locale':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs#requestBodyThumbnail',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /jobs#requestBodyThumbnail

    Creates an asynchronous job, but honors the media types and contract for a "thumbnail provider".

    Body parameter

    {
      "acceptItem": "string",
      "resourceUri": "string",
      "resourceType": "string",
      "detailLevel": "low",
      "scope": "element",
      "returnMultiple": false,
      "refresh": false,
      "sizingOptions": {
        "viewWidth": 0,
        "viewHeight": 0,
        "devicePixelRatio": 1,
        "maxTextCharacters": 0,
        "maxTableColumns": 0,
        "maxTableRows": 0
      },
      "accessibilityOptions": {
        "highContrast": false
      },
      "themeId": "string",
      "pagingOptions": {
        "start": 0,
        "limit": 0
      },
      "version": 0
    }
    

    Parameters

    Parameter In Type Required Description
    wait query number(float) false The number of seconds to wait for an update before returning from the "long poll". The maximum is 30 seconds.
    Accept-Language header string false The user's locale. For non-thumbnail operations, this locale is a factor for both rendering and caching. For thumbnail requests, typically only the right-to-left aspect is considered. Thumbnails do not typically include localizable content, and consequently are shareable among users with different locales. For details, see Accept-Language.
    Accept-Locale header string false A "format locale" distinct from the user's language (Accept-Language). Usage and syntax is similar to Accept-Language.
    body body object true The thumbnail job details.

    Example responses

    201

    {
      "id": "string",
      "state": "pending",
      "thumbnails": [
        {
          "state": "pending",
          "error": {
            "message": "string",
            "id": "string",
            "errorCode": 0,
            "httpStatusCode": 0,
            "details": [
              "string"
            ],
            "remediation": "string",
            "errors": [
              null
            ],
            "links": [
              {
                "method": "string",
                "rel": "string",
                "uri": "string",
                "href": "string",
                "title": "string",
                "type": "string",
                "itemType": "string",
                "responseType": "string",
                "responseItemType": "string"
              }
            ],
            "version": 0
          },
          "modifiedTimeStamp": "2018-09-04T15:35:45Z",
          "links": [
            {
              "method": "string",
              "rel": "string",
              "uri": "string",
              "href": "string",
              "title": "string",
              "type": "string",
              "itemType": "string",
              "responseType": "string",
              "responseItemType": "string"
            }
          ]
        }
      ],
      "error": {
        "message": "string",
        "id": "string",
        "errorCode": 0,
        "httpStatusCode": 0,
        "details": [
          "string"
        ],
        "remediation": "string",
        "errors": [
          null
        ],
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      },
      "duration": 0,
      "defaultThumbnailSasThemesIconKey": "string",
      "pagingState": {
        "start": 0,
        "limit": 0,
        "count": 0
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    201 Created The job was created and is in the "completed" state. The thumbnails(s) are ready. thumbnailJob
    202 Accepted The requested job was created but has not completed. Some of the images can be in the "completed" state. It is also possible some images will have a "staleThumbnail" link. thumbnailJob
    400 Bad Request Bad request. The request body is not well formed. error2
    404 Not Found Not found. Typically, the report could not be found. error2
    500 Internal Server Error Internal Error. Typically, errors reported by other services which this service uses. error2
    Response Headers
    Status Header Type Format Description
    201 Location string Location of the completed thumbnail job.
    202 Location string Location of the running job.

    Get thumbnail provider job

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportImages/jobs/{jobId}#getThumbnailJob \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.thumbnails.job+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.thumbnails.job+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportImages/jobs/{jobId}#getThumbnailJob',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /jobs/{jobId}#getThumbnailJob

    Returns the asynchronous job in the media type for "thumbnail provider".

    Parameters

    Parameter In Type Required Description
    jobId path string true the jobId
    wait query number(float) false The number of seconds to wait for an update before returning from the "long poll". The maximum is 30 seconds.

    Example responses

    200

    {
      "id": "string",
      "state": "pending",
      "thumbnails": [
        {
          "state": "pending",
          "error": {
            "message": "string",
            "id": "string",
            "errorCode": 0,
            "httpStatusCode": 0,
            "details": [
              "string"
            ],
            "remediation": "string",
            "errors": [
              null
            ],
            "links": [
              {
                "method": "string",
                "rel": "string",
                "uri": "string",
                "href": "string",
                "title": "string",
                "type": "string",
                "itemType": "string",
                "responseType": "string",
                "responseItemType": "string"
              }
            ],
            "version": 0
          },
          "modifiedTimeStamp": "2018-09-04T15:35:45Z",
          "links": [
            {
              "method": "string",
              "rel": "string",
              "uri": "string",
              "href": "string",
              "title": "string",
              "type": "string",
              "itemType": "string",
              "responseType": "string",
              "responseItemType": "string"
            }
          ]
        }
      ],
      "error": {
        "message": "string",
        "id": "string",
        "errorCode": 0,
        "httpStatusCode": 0,
        "details": [
          "string"
        ],
        "remediation": "string",
        "errors": [
          null
        ],
        "links": [
          {
            "method": "string",
            "rel": "string",
            "uri": "string",
            "href": "string",
            "title": "string",
            "type": "string",
            "itemType": "string",
            "responseType": "string",
            "responseItemType": "string"
          }
        ],
        "version": 0
      },
      "duration": 0,
      "defaultThumbnailSasThemesIconKey": "string",
      "pagingState": {
        "start": 0,
        "limit": 0,
        "count": 0
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK The requested thumbnail job, which may be in a terminal state. Terminal states are "completed" and "failed". thumbnailJob
    404 Not Found The job was not found. error2
    500 Internal Server Error Errors reported by internal services. error2

    Schemas

    job

    Properties

    The operation to create image(s)

    Name Type Required Description
    id string true The unique identifier of this job.
    state string true The overall state of this job. "Completed" and "failed" are the terminal states.
    duration number(float) false How many seconds to complete this job. Returned with completed and failed jobs.
    creationTimeStamp string(date-time) true When the job was created.
    pagingState pagingState false
    error object false The representation of an error.
    » message string false The message for the error.
    » id string false The string ID for the error.
    » errorCode integer false The numeric ID for the error.
    » httpStatusCode integer true The HTTP status code for the error.
    » details [string] false Messages that provide additional details about the cause of the error.
    » remediation string false A message that describes how to resolve the error.
    » errors [error2] false Any additional errors that occurred.
    » links [links] false The links that apply to the error.
    » version integer true The version number of the error representation. This representation is version 2.
    images [imageDetail] false An array of image detail, one array for each image this job produces. After the report analysis phase completes, this array contains the image metadata, missing only the retrieval link to be complete.
    links [any] false An array of links to related resources and actions.
    » Link object false A link to a related operation or resource.
    »» method string false The HTTP method for the link.
    »» rel string true The relationship of the link to the resource.
    »» uri string false The relative URI for the link.
    »» href string false The URL for the link.
    »» title string false The title for the link.
    »» type string false The media type or link type for the link.
    »» itemType string false If this is a link to a container, itemType is the media type or link type for the items in the container.
    »» responseType string false The media type or link type of the response body for a PUT, POST, or PATCH operation.
    »» responseItemType string false The media type or link type of the items in the response body for a PUT, POST, or PATCH operation.
    » version integer(int32) true This media type's schema version number. This representation is version 2. If the client specifies version=1, the "modifiedTimeStamp" member is not included with the associated images, and an early return with a "cached" image will not occur.
    Enumerated Values
    Property Value
    state pending
    state running
    state completed
    state failed

    imageDetail

    Properties

    Describes an individual image

    Name Type Required Description
    sectionIndex integer(int32) true The section (page, 0-based) of this report from which this image came.
    sectionName string true The internal name of the section.
    sectionLabel string true The user label of the section.
    elementName string true The internal name of the element this image represents.
    visualType string true The type of the element. For a graph it will be the graphType. For example: "pie" or "bar". For a section, it will be "Section". For a composite (such as linear regression) the type will be "Composite". For a table or crosstable, the type will be "Table" and "Crosstab", respectively. For a text-only element, it will be "Text". These types come from the report definition.
    size string true The requested size. For example, "268x151".
    state string true The state of this job. Terminal states: completed, failed, ignored.
    modifiedTimeStamp string(date-time) false The timestamp in YYYY-MM-DDThh:mm:ss.sssZ format of when the referenced image was last updated. This member is present only when a link to an image is also present (either image or staleImage), and indicates the modified time of that image. This member was not available in version 1 of this media type.
    error error2 false
    links [links] false An array of links for retrieving the image or initiating a new job. Expect link relations "image", "render", and "resize". The "image" URI is how the SVG image is retrieved.
    Enumerated Values
    Property Value
    state pending
    state running
    state completed
    state failed
    state ignored

    jobRequest

    Properties

    Job request details

    Name Type Required Description
    reportUri string true The report from which to generate images.
    layoutType string false The type of image.
    selectionType string false The type of operation selected. -"report" gets a single image that represents the entire report. -"perSection" gets one image per section. -"visualElements" enables the caller to specify the visual elements to render (in parameter "visualElementNames").
    size string false The image size. Format is widthxheight, with no spaces. For example, "268x151".
    specificVisualElements [nameAndSize] false An array of name/size pairs, each representing a visual element to render.
    sectionIndex integer(int32) false The section (page) to render. Applies only when layoutType==entireSection.
    refresh boolean false If true, bypass caches and generate a new image.
    renderLimit integer(int32) false Limit how many images to render. For no limit, set to -1. Clients can specify "1" to quickly get the first image and how many remaining images are available.
    pagingOptions pagingOptions false
    version integer(int32) false This media type's schema version number. This representation is version 1.
    Enumerated Values
    Property Value
    layoutType thumbnail
    layoutType normal
    layoutType entireSection
    selectionType report
    selectionType perSection
    selectionType visualElements
    selectionType paging

    nameAndSize

    Properties

    Report element name and size.

    Name Type Required Description
    name string true The report element name.
    size string true The image size. For example "268x151".

    pagingOptions

    Properties

    Paging request information. Which image to start with, and how many to get.

    Name Type Required Description
    start integer(int32) true Start index (0 based) of first image to return.
    limit integer(int32) true Number of images to return; the "page size".

    pagingState

    Properties

    Paging response information.

    Name Type Required Description
    start integer(int32) true Start index (0 based) of first image to return.
    limit integer(int32) true Number of images to return; the "page size".
    count integer(int32) true Total number of images available.

    thumbnailJob

    Properties

    Thumbnail Job

    Name Type Required Description
    id string true The generated id for this job.
    state string true The state of this job.
    thumbnails [any] false Thumbnail objects, typically 1 unless paging had been requested.
    » Thumbnail object false Information for retrieving a thumbnail.
    »» state string true the state of this thumbnail
    »» error error2 false
    »» modifiedTimeStamp string(date-time) false The timestamp in EEE, dd MMM yyyy HH:mm:ss GMT format when the thumbnail was last modified.
    »» links [links] false Link relations for this thumbnail. Expect: 'thumbnail' (the thumbnail to pick up) and 'staleThumbnail' (an older thumbnail that can be picked up while a more current thumbnail is being prepared)
    » error error2 false
    » duration number(float) false duration, in seconds, of the job.
    » defaultThumbnailSasThemesIconKey string false A number of fully themed "icons" are available within SAS Clients. If provided, this is that representation and should be used in preference to the the image specified by link relation "defaultThumbnailImage".
    » pagingState object false Object returned if paging had been requested
    »» start integer true start index (0-based) of the first thumbnai.
    »» limit integer true number of thumbnails returned in a single "page"
    »» count integer true number of available thumbnails.
    » links [links] true Link relations for this job. Expect 'self' and 'defaultThumbnailImage'.
    » version integer(int32) true The version number of the thumbnail job. This representation is version 1.
    Enumerated Values
    Property Value
    state pending
    state running
    state completed
    state failed
    state pending
    state running
    state completed
    state failed

    Usage Notes

    Overview

    The Report Images service delivers SVG images that represent either an entire report or elements of a report. Clients that present a view of the folder structure or thumbnails of a report are candidates for using this service.

    For example, you want to produce an image that is representative of an entire report. You create a job which returns 'state==running'. Then you poll (following the "self" link) until the job is completed. When completed, the job returns a URI, which is then passed to the browser for rendering.

    Simple Example

    By default a single image that represents the report is produced at the requested size. This is equivalent to the option selectionType=report. To create one image per section, specify selectionType=perSection.

    Concepts

    Asynchronous operation

    This service creates an asynchronous job. The output of the job will include the details of each produced image, including a URI suitable to use in an HTML IMG tag.

    Because the job is asynchronous, a response is returned in a timely fashion. Although job completion is often sub-second, some queries can take longer than you might want to hold a browser request for. This is why the service supports long polling for both the job creation and the subsequent get. While awaiting completion, the request can wait in the service, returning immediately upon completion or timeout.

    Caching and Security

    Cached images are shared between users with identical data security rules for the table(s) supporting an image. However, the URL returned to the user to get the image (link relation image) is valid only for the current user. Users should not share URLs.

    Direct image mode

    For clients that cannot address the job pattern, for example a link in an email message, it is possible to specify a URL which "directly" returns an image. However, because each call can hold a "browser thread", consumers are urged to use this feature sparingly.

    ETag

    An entity tag or Etag is an identifier assigned to a specific version of a resource. This service fully supports entity tags. Caching headers encourage the browser to cache the image. Clients which use modern browsers can depend on the browser to handling local caching and ETag handling.

    Failure

    A single job can generate several images. Some of those images can fail, while other images in the job are successfully generated. A job is only marked "failed" if every image failed. Check each image's state.

    Image size

    Because the rendering process takes the actual size into account when determining how much detail to include, the caller must supply the size of the requested image, rather than an aspect ratio. The size parameter has the format of "width x height" (with no spaces), for example: 268x151. This size represents CSS Style pixels.

    Clients can request a single image to represent the report, or one image per section of the report.

    Job Deletion

    By default, an hour after job creation, a job is available for automatic deletion.

    Layout type

    Long Polling

    A technique for polling a service for information without the network overhead of continuous polling. In long polling the client requests new information from the service. The service holds the request open until the data is available or the timeout is reached. If the data becomes available, the service sends the data. This technique essentially emulates a server push.

    The default timeout is 500 milliseconds; the maximum timeout is 30 seconds.

    Paging through images

    For reports with multiple sections, the caller can request images for a subset of the report. The caller indicates the start index (0 based) and a limit on how many images to generate and return. The result will include a count which is the total number of images available.

    Partial results

    The job will quickly return partial results in the "images" array. The array includes the state of each image so that the client can determine if processing for that image is complete.

    When the image is available, the results include a link to the image, and state is changed to "completed".

    Refresh

    Specify refresh=true to bypass all caches and forcibly generate new results. Because this service achieves much of its performance by caching and sharing results from users with identical profiles, refreshing should be considered an exception (not a default for a client).

    Row-level Permissions

    The delivery of images respects row-level permissions, so images are always suitable for the current user. And because users with identical restrictions can see the same query results, this service can cache images for sharing while ensuring the result is appropriate to each user. Clients should not share images; images generated by this service are intended only for the current user.

    State

    The state of the job, and each image within the job, can be one of:

    Images have one additional state that indicates when an image was not generated because of renderLimit:

    In such cases, the image details will include a link render that can be used to create a job for the image.

    States pending and running are the non-terminal states for the job; completed and failed are the terminal states.

    Terminology

    administrator

    A user who is a qualifying application administrator (member of ApplicationAdministrators).

    report

    A SAS Visual Analytics Report.

    section

    A report is divided into one or more sections. The user facing term for section is page.

    SVG

    Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation (see Wikipedia). This service produces only SVG images. Note that SVG is always in XML; there is no JSON equivalent.

    stale image

    An image that has not been recently updated, but reflects the security considerations for a user.

    Resources

    Entity Relationship Diagram

    Diagram

    All GET operations have a corresponding HEAD which are identical except for HEAD semantics.

    Root

    Path: /

    The root of the API. This resource contains links to the top-level resources in the API. The response uses the application/vnd.sas.api media type.

    The GET / response includes the following links.

    Relation Method Description
    createJob POST Create a job which provides the requested image(s).
    URI: /jobs
    Request type: application/vnd.sas.report.images.job.request
    Response type: application/vnd.sas.report.images.job
    createJobWithParameters POST Create a job which provides the requested image(s). Inputs come from request parameters.
    URI: /jobs
    Response type: application/vnd.sas.report.images.job
    deleteAll DELETE Remove all cached images.
    Restricted to Administrator.
    URI: /images
    deleteForReport DELETE Remove all cached images for the specified report.
    Restricted to Administrator.
    URI: /images?reportUri={reportUri}. The client will need to substitute {reportUri} with the full URI to the report.

    Jobs

    Path: /reportImages/jobs
    Path: /reportImages/jobs/{jobId}

    This API provides for the creation of application/vnd.sas.report.images.job. These jobs run asynchronously. After the report analysis phase is complete, a job will include an array for each image that will be generated. This array contains metadata about the image, such as section, element name, visual element type, and status.

    The client must poll until the job is completed (using either the self or the state link). Terminal states are: completed and failed. Both the POST and GET calls accept the request parameter wait, which specifies how long (in floating point seconds) to wait before timing out and returning if the job is not complete. The default value is 0.5 (1/2 second), the max is 30. This long poll returns immediately when the job completes.

    When an image's status is completed, the image object will include a link image to obtain the image. This link will be suitable to pass to a browser IMG tag.

    Approximately one hour after a job is completed, it is destroyed automatically.

    Relation Method Description
    self GET Get this job.
    URI: /jobs/{jobId}
    Response type: application/vnd.sas.report.images.job
    state GET Get only the state of this job.
    URI: /jobs/{jobId}/state
    Response type: text/plain
    renderAll POST Create a new job rendering all images.
    URI: /jobs?reportUri={reportUri}&size={size}&layoutType={layoutType}&selectionType={selectionType}
    Note that the parameter renderLimit is omitted. The use case for this link is the client which chooses renderLimit=1 to get the first image, but also needs to know how many images exist. Later, if the user explores further, the client will render the remaining images. (For this use case, the client does not need to worry about "re-rendering" the first image. There is no "request type" because all needed details are request parameters and no request body is needed.
    Response type: application/vnd.sas.report.images.job

    Each image object in the job can have these links. This image object is not a separate resource, so there is no self link. Either image or staleImage will be returned.

    Relation Method Description
    image GET Get the actual SVG image. This URI will be suitable to give to a browser IMG tag. This link will only be available for image(s) in the completed state. This link is valid for 1 hour and only for the current user.
    URI: /images/{imageId}.svg
    Response type: image/svg+xml
    staleImage GET Similar to image but may be stale.
    URI: /images/{imageId}.svg
    Response type: image/svg+xml
    (This link was not available in version 1)
    render POST Create a job to render this image. Note that typically the job which renders all images is much faster than iterating through the images with renderLimit==1.
    URI: /jobs?visualElementNames={elementId}&reportUri={reportUri}&layoutType={layoutType}&selectionType=visualElements&size={size}
    Response type: application/vnd.sas.report.images.job
    resize POST Create a job to render this image at a different size. This link will have one substitution parameter: {size} to specify the new size, e.g. 300x250.
    URI: /jobs?visualElementNames={elementId}&reportUri={reportUri}&layoutType={layoutType}&selectionType=visualElements&size={size}
    Response type: application/vnd.sas.report.images.job
    SVG Image

    Path: /reportImages/images/{imageId}.svg

    When a job provides an image, the job's image object's image link will point here. This path is unique to the current user.

    Because clients should only access this endpoint through the image link(s) provided with the job, a collection view is omitted.

    None. This resource is an actual SVG image (media type: image/svg+xml).

    Direct images

    Path: /reportImages/directImage?reportUri={reportUri}&size={size}

    This method hides the job architecture and directly generates and returns the image. It internally delays response, and if the result is not ready, it issues a redirect to the browser. Use of this method is discouraged because using more than one can starve a browser's requests and because the redirect technique employed can exhaust a browser's redirect patience.

    This resource does not support cached images (there's no way to poll for the fresh image).

    Any client capable of following the job pattern should NOT use this direct approach.

    Administrator maintenance

    Path: /reportImages/images
    Path: /reportImages/images?reportUri={reportUri}

    An administrator can delete all cached images (the first form) or all images associated with a specific report (the second form). There are no associated links or other inputs (204 response).

    These operations should not be necessary because the per-user analysis should not return stale images. By default, cached images are automatically removed after 2 weeks.

    Media Types

    application/vnd.sas.report.images.job.request

    The request body when creating a job. The schema is at application/vnd.sas.report.images.job.request.

    Note that the operation creating a job is overloaded, there is an overloaded resource which takes this input as request parameters rather than the request body, and a third operation which accepts the report as input.

    application/vnd.sas.report.images.job.request+json

    { "reportUri" : "/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1", "layoutType" : "thumbnail", "selectionType" : "report", "size" : "268x151", "version" : 1, "refresh" : false }

    application/vnd.sas.report.images.job

    Provides metadata about the report images job.

    The schema is at application/vnd.sas.report.images.job, the current version is: 2.

    application/vnd.sas.report.images.job+json

    Below is an example of the JSON representation of this media type.

    { "id": "77bc0a8e-a0e3-422c-8c06-1e0652978f0a", "version": 2, "links": [ { "method": "GET", "rel": "self", "href": "/reportImages/jobs/77bc0a8e-a0e3-422c-8c06-1e0652978f0a", "uri": "/reportImages/jobs/77bc0a8e-a0e3-422c-8c06-1e0652978f0a", "type": "application/vnd.sas.report.images.job" }, { "method": "GET", "rel": "state", "href": "/reportImages/jobs/77bc0a8e-a0e3-422c-8c06-1e0652978f0a/state", "uri": "/reportImages/jobs/77bc0a8e-a0e3-422c-8c06-1e0652978f0a/state", "type": "text/plain" }, { "method": "POST", "rel": "renderAll", "href": "/reportImages/jobs?selectionType=report&size=268x151&reportUri=/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1&layoutType=thumbnail", "uri": "/reportImages/jobs?selectionType=report&size=268x151&reportUri=/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1&layoutType=thumbnail", "type": "application/vnd.sas.report.images.job" } ], "state": "completed", "duration": 0.136, "creationTimeStamp": "2017-07-17T17:13:49.690Z", "images": [ { "sectionIndex": 0, "sectionName": "vi6", "sectionLabel": "Page 1", "elementName": "ve40", "visualType": "wordCloud", "size": "268x151", "state": "completed", "modifiedTimeStamp": "2017-11-16T18:19:23.600Z" "links": [ { "method": "GET", "rel": "image", "href": "/reportImages/images/K1380786238B1394189146.svg", "uri": "/reportImages/images/K1380786238B1394189146.svg", "type": "image/svg+xml" }, { "method": "GET", "rel": "staleImage", "href": "/reportImages/images/K1380786238B9753186427.svg", "uri": "/reportImages/images/K1380786238B9753186427.svg", "type": "image/svg+xml" }, { "method": "POST", "rel": "render", "href": "/reportImages/jobs?selectionType=visualElements&size=268x151&reportUri=/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1&layoutType=thumbnail&visualElementNames=ve40", "uri": "/reportImages/jobs?selectionType=visualElements&size=268x151&reportUri=/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1&layoutType=thumbnail&visualElementNames=ve40", "type": "application/vnd.sas.report.images.job" }, { "method": "POST", "rel": "resize", "href": "/reportImages/jobs?selectionType=visualElements&reportUri=/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1&layoutType=thumbnail&visualElementNames=ve40&size={size}", "uri": "/reportImages/jobs?selectionType=visualElements&reportUri=/reports/reports/234086e1-ac04-46ed-9e1b-32666bfb1bb1&layoutType=thumbnail&visualElementNames=ve40&size={size}", "type": "application/vnd.sas.report.images.job" } ] } ] }

    Shared Media Types

    The reportImages API uses the following shared media types:

    application/vnd.sas.api

    Contains top-level links for an API. See application/vnd.sas.api

    application/vnd.sas.error (v2)

    Standard SAS error format. This is returned for most 400 and 500 level responses, and is a member of the "job" media type. application/vnd.sas.error (v2)

    application/vnd.sas.thumbnails.job.request

    A request using the Thumbnails Provider Contract to create a job. application/vnd.sas.thumbnails.job.request

    application/vnd.sas.thumbnails.job

    The job created using the Thumbnails Provider Contract. application/vnd.sas.thumbnails.job

    External Media Types

    The reportImages API uses the following external media types:

    image/svg+xml

    SVG images are XML strings following the SVG protocol. Modern browsers are able to render them. Neither this service, nor a client, should need to parse this string.

    For more information see wikipedia or https://www.w3.org/Graphics/SVG/.

    Error Codes

    HTTP Status Code Error Code Description
    400 1017 The value of a required field is invalid (null or too long).
    400 22000 A required parameter was not specified.
    400 22001 Bad layout type. (Supported are: thumbnail, normal, entireSection.)
    400 22002 Size must be specified.
    400 22003 Invalid section index.
    400 22004 Report table definition error.
    400 22005 Requested element is not a suitable type to render.
    400 22006 Report has no suitable report elements.
    400 22007 Report conversion failure (JSON to XML).
    400 22008 Bad selection type. (Supported types: report, perSection, visualElements)
    400 22009 Bad input. Possible HTML script attack.
    404 22010 Report not found.
    404 22011 Report element not found.
    404 22012 Job not found.
    404 22013 Image ID not found.
    404 22014 Image not found.
    500 22020 Error with service CAS Management.
    500 22021 Error with service CAS Access Management.
    500 22022 Error with service Report Packages.
    500 22023 Error with service Report Renderer.
    500 22024 Unexpected failure generating image.
    500 22025 Failure generating report package.
    500 22026 Failure reading report.
    500 22027 Report parse failure.
    500 22028 Table not readable.
    500 22029 Renderer did not return image.
    500 22030 Renderer did not return images.
    500 22031 Renderer reported error.
    500 22032 Image generation interrupted.
    500 22033 Direct Image generation failed.
    500 22034 External service timeout.
    HTTP Status Code Error Code Description
    400 76701 Resource specified by objectUri member cannot be opened.
    400 76703 The type of the object referenced by the objectUri member is not supported by this service.
    400 76704 Request validation error.
    76705 Other error encountered by the thumbnail provider.
    400 76706 Required parameter is missing.
    406 76702 The thumbnail media type this service supplies is not acceptable according to provided acceptItem member.

    Report Transforms

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    This service creates and manipulates "transforms" of SAS reports that conform to the Business Intelligence Report Definition (BIRD) specification. A transform is a wrapper for a BIRD report. When a transform is part of a request, it contains instructions and parameters to perform an editing action or structural modification to the report. When a transform is part of a response, it describes the action or modification that was performed or attempted. The response transform contains either the BIRD report directly, or it has a reference to a persistent report. All GET operations have a corresponding HEAD which is identical in all respects except that a response body is not returned.

    Base URLs:

    Convert a report between JSON and XML

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportTransforms/convertedReports \
      -H 'Content-Type: application/vnd.sas.report.transform+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json' \
      -H 'Content-Type: string' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: string'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.transform+json',
      'Accept':'application/vnd.sas.report.transform+json',
      'Content-Type':'string',
      'Accept':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/convertedReports',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /convertedReports

    Convert the input BIRD report from JSON format to XML or vice versa. Validates the report against the current schema, but that can be suppressed.

    Body parameter

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Parameters

    Parameter In Type Required Description
    validate query boolean false Determine whether the report content is validated against the XML schema. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform errorMessages list. The conversion action will still be done.
    Content-Type header string true The body of the request is either a transform that contains the BIRD report to be converted, (application/vnd.sas.report.transform) or BIRD report content (application/vnd.sas.report.content).
    Accept header string true The converted media type. It should be the corresponding converted format to match the input Content-Type. For example, if Content-Type is application/vnd.sas.report.transform+json or application/vnd.sas.report.content+json, the Accept value should be application/vnd.sas.report.transform+xml.
    body body transform true The body of the request is either a transform that contains the BIRD report to be converted, or the body of the request is BIRD report content (application/vnd.sas.report.content). The Content-Type and Accept headers must be set to assure the correct handling.

    Example responses

    201

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Responses

    Status Meaning Description Schema
    201 Created Converted content successfully created. transform
    400 Bad Request The request was invalid. error2
    415 Unsupported Media Type The media types for request and response should not have the same format (JSON or XML). error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    201 Content-Type string The response (application/vnd.sas.report.transform) is a transform that contains the BIRD report as its "reportContent" property. If saveResult is true, the savedReportResource property of the transform contains the URI for the applicaton/vnd.sas.report that was saved.
    201 Location string The resource URI of the created report if a saved converted report was requested.

    Change report data source

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportTransforms/dataMappedReports \
      -H 'Content-Type: application/vnd.sas.report.transform+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.transform+json',
      'Accept':'application/vnd.sas.report.transform+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/dataMappedReports',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /dataMappedReports

    Create a new report based on the input report. Swap one data source for another, and map data columns to corresponding replacement columns. The transform object must specify the original data source and the replacement data source. The replacement data source must exist, as its variables are matched against the original to determine if the replacement will be valid. The input and output formats must match. If a JSON request is posted, a JSON response must be accepted, and likewise for XML.

    Body parameter

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Parameters

    Parameter In Type Required Description
    useSavedReport query boolean false Specifies whether to find the source (or input) report as a permanent resource. If true, the input transform must contain the URI of a saved report resource that contains the input BIRD content. The default is false, meaning that the input report content is in the transform in the request body.
    saveResult query boolean false Determines whether the transformed report is saved to the repository. If false, the transformed report is returned to the client as part of the body. If true, the BIRD content is not returned directly in the body of the response, but is saved in the repository as a report resource. The vnd.sas.report.transform in the response body contains links to retrieve the resulting resource.
    failOnDataSourceError query boolean false When the replacement data source is tested for compatibility and serious errors occur, the service can either fail and return, or it can attempt to continue. This parameter can be used to force a change even if there are errors.
    validate query boolean false Determine whether the report content should be validated against the XML schema. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform's errorMessages list.
    body body transform true The body of the request contains the input transform and the report content (or reference to the report) on which data mapping is performed.

    Example responses

    201

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Responses

    Status Meaning Description Schema
    201 Created Successful transformation. The resulting transform was "created" and returned. transform
    400 Bad Request The request was invalid. error2
    409 Conflict The service cannot return what is requested. This can happen if the data is unavailable or if there is a mismatch between the requested data and the report's current data. Error messages attempt to describe the root cause. error2
    415 Unsupported Media Type The media types and formats for the request and response should match (JSON or XML). error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    201 Content-Type string The application/vnd.sas.report.transform response contains the BIRD report in its reportContent property. If saveResult is true, the savedReportResource property of the transform contains the URI for the application/vnd.sas.report resource that was saved.
    201 ETag string Identifier for preconditions of the saved report, when saveReport was specified.
    201 Last-Modified string Date and time when the resulting report was saved.
    201 Location string Location of created report resource, if saved. Also contained in the links of the response transform.

    Create an evaluation of a report

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportTransforms/evaluatedReports \
      -H 'Content-Type: application/vnd.sas.report.transform+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.transform+json',
      'Accept':'application/vnd.sas.report.transform+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/evaluatedReports',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /evaluatedReports

    Evaluate the report content for adherence to expectations that are not strictly syntactic. Although the report may be syntactically valid according to the BIRD, it may have semantic problems which make it problematic to interpret or display. Echo the input transform and attach the evaluation of the report to the output transform. The evaluation contains warnings and non-fatal error messages about the semantic viability of the report. The evaluation can also verify certain data sources in the report to make sure their data is still compatible with the CAS tables.

    Body parameter

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Parameters

    Parameter In Type Required Description
    validate query boolean false Determine whether the report content should be validated against the XML schema. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform's errorMessages list. The semantic evaluation will still be attempted.
    useSavedReport query boolean false Specifies whether to get the source (or input) report from a permanent resource. If true, the input transform contains the URI of a saved report resource that contains the input BIRD content. If false, the input report content is in the transform request. The default is false.
    evaluateState query boolean false Setting to false skips the evaluation of the SASReportState of the BIRD report. This part of the report is typically more variable.
    level query string false The minimum level of problem to report. Errors at that severity level and higher are reported. The default setting is 'warning'.
    body body transform true The body of the request; the input transform containing the report to be evaluated.

    Enumerated Values

    Parameter Value
    level error
    level warning
    level info

    Example responses

    201

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Responses

    Status Meaning Description Schema
    201 Created A transform containing the evaluation and the evaluated report was created without errors. This does not mean that the evaluation has no info, warning, or error messages, it just means that the evaluation was able to run. transform
    400 Bad Request The request was invalid. error2
    415 Unsupported Media Type The media types and formats for the request and response should match (JSON or XML). error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    201 ETag string Not useful in this context even though it is typical for 201 response.
    201 Last-Modified string Not useful in this context even though it is typical for 201 response.
    201 Location string Not useful in this context even though it is typical for 201 response.

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportTransforms/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.api+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.api+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /

    Returns a list of top-level links to the resources available in the service.

    Example responses

    200

    [
      {
        "method": "string",
        "rel": "string",
        "uri": "string",
        "href": "string",
        "title": "string",
        "type": "string",
        "itemType": "string",
        "responseType": "string",
        "responseItemType": "string"
      }
    ]
    
    Status Meaning Description Schema
    200 OK Return top-level links in type application/vnd.sas.api. Inline
    503 Service Unavailable The service is unavailable. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string Format will match the request Accept header.

    Code samples

    # You can also use wget
    curl -X HEAD https://www.example.com/reportTransforms/
    
    
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/',
      method: 'head',
    
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    HEAD /

    Returns information about whether the service is running, and about the API.

    Status Meaning Description Schema
    200 OK Service is running and available. None
    503 Service Unavailable The service is unavailable. None
    Response Headers
    Status Header Type Format Description
    200 Content-Type string Should match request.

    Change theme of existing report

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportTransforms/rethemedReports/{reportId}/{themeName}/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.transform+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/rethemedReports/{reportId}/{themeName}/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /rethemedReports/{reportId}/{themeName}/

    Returns a rethemed version of a saved report.

    Parameters

    Parameter In Type Required Description
    reportId path string true The report from which the report should be read, rethemed, and returned.
    themeName path string true The id of the new theme.
    validate query boolean false Determine whether to validate the report content against the XML schema, and whether the themeName is a published report theme. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform's errorMessages list.

    Example responses

    200

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Successful retheming of the report and returned. transform
    400 Bad Request The request contains invalid content that cannot be processed (error code 27540), or, if there is no published report theme, with the specified name (error code 27570). error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    200 Content-Type string As specified above for type produced.
    200 ETag string Identifier of the existing report.

    Change theme of submitted report

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportTransforms/rethemedReports/{themeName}/ \
      -H 'Content-Type: application/vnd.sas.report.transform+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.transform+json',
      'Accept':'application/vnd.sas.report.transform+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/rethemedReports/{themeName}/',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /rethemedReports/{themeName}/

    Change the theme of the report in the body of the request using the specified themeName. Return a transform containing the rethemed report. Optionally, get the input report from a persistent report resource, specified in the input transform. Also optionally, save the modified report as a persistent resource. If the input report is a persistent report, optionally replace it with the modified version. (This operation has been enhanced in Version 2 to facilitate a single-step CLI operation to change the themes of existing reports.)

    Body parameter

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Parameters

    Parameter In Type Required Description
    themeName path string true The name of the new theme.
    saveResult query boolean false Determines whether the transformed report is saved to the repository. If true, the report is saved. The response transform contains links to retrieve the resulting report. Assumes that resultReportName and resultParentFolderUri in the request transform can be used for the location of the resulting report.
    useSavedReport query boolean false Specifies whether to find the input report as a permanent resource. If true, the input transform must provide the reference to the input report. If false, the input report is in the transform in the request body. (Added in Version 2)
    replaceSavedReport query boolean false Specifies that the input report resource specified by the inputReportUri property of the request transform should be modified in place with the new theme. (Added in Version 2)
    returnContent query boolean false Determines whether the transformed report is embedded in the response transform. If false, the report is not returned. If true, the report is returned. (Added in Version 2)
    validate query boolean false Determine whether to validate the report content against the schema. Validation errors do not necessarily halt processing.
    body body transform true The input transform and the report to retheme.

    Example responses

    201

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    

    Responses

    Status Meaning Description Schema
    201 Created Rethemed version of the report generated and returned. transform
    400 Bad Request The request was invalid. error2
    406 Not Acceptable The media type is incorrect. error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    201 Content-Type string As specified above for types produced.
    201 Location string Location of created report resource, if saved. Also contained in the links of the response transform.

    Get translation worksheet for report in repository

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportTransforms/translationWorksheets/{reportId}/{translationLocale}/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: text/plain'
    
    
    var headers = {
      'Accept':'text/plain'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/translationWorksheets/{reportId}/{translationLocale}/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /translationWorksheets/{reportId}/{translationLocale}/

    Extract the translatable strings from an existing report and return a worksheet that can be used by a human translator to specify the strings in a different language.

    Parameters

    Parameter In Type Required Description
    reportId path string true The resource Id of the report that should be processed.
    translationLocale path string true The locale specifier for which strings should be extracted. If the locale is not defined in the report, an HTTP 400 error is returned.
    validate query boolean false Determine whether to validate the report content against the XML schema. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform's errorMessages list. Worksheet creation will be completed even after an error.

    Example responses

    200

    {
      "locale": "string",
      "lines": [
        "string"
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK Successfully retrieved the worksheet from the report. translationWorksheet
    400 Bad Request The request was invalid. error2
    404 Not Found The worksheet was not found. None
    500 Internal Server Error Unexpected error. error2
    Response Headers
    Status Header Type Format Description
    200 Content-Type string As specified above.
    200 ETag string Identifier of existing report for precondition of PUT.

    Update localization in a report

    Code samples

    # You can also use wget
    curl -X PUT https://www.example.com/reportTransforms/translationWorksheets/{reportId}/{translationLocale}/ \
      -H 'Content-Type: text/plain' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: text/plain' \
      -H 'If-Match: string'
    
    
    var headers = {
      'Content-Type':'text/plain',
      'Accept':'text/plain',
      'If-Match':'string'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/translationWorksheets/{reportId}/{translationLocale}/',
      method: 'put',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    PUT /translationWorksheets/{reportId}/{translationLocale}/

    Insert the translator's language worksheet into an existing report and save the report. This saves the human translator's strings for the specified locale so that the report can be generated later in the locale's language. This action returns no content.

    Body parameter

    {
      "locale": "string",
      "lines": [
        "string"
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Parameters

    Parameter In Type Required Description
    reportId path string true The report from which the original report should be read.
    If-Match header string false The etag identifier from the last GET of the report.
    translationLocale path string true The locale for which the translation should be extracted.
    body body translationWorksheet true The body of the request is the translation worksheet.

    Example responses

    400

    {
      "message": "string",
      "id": "string",
      "errorCode": 0,
      "httpStatusCode": 0,
      "details": [
        "string"
      ],
      "remediation": "string",
      "errors": [
        null
      ],
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ],
      "version": 0
    }
    

    Responses

    Status Meaning Description Schema
    200 OK See code 204. This is a departure from a typical PUT, which would return the modified object, but in this case, returning the the modified report is undesirable. None
    204 No Content Worksheet was inserted into the report. No content returned. None
    400 Bad Request The request was invalid. error2
    412 Precondition Failed The header If-Match Etag value did not match. error2
    428 Precondition Required The precondition header If-Match was not provided. error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    200 ETag string See code 204.
    204 ETag string Identifier of modified report for precondition of subsequent PUT.
    204 Location string Location of modified report resource. Should be duplicate information that matches the input parameter.

    Get localization worksheet for a report

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportTransforms/translationWorksheets/{translationLocale}#content \
      -H 'Content-Type: application/vnd.sas.report.transform+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: text/plain'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.transform+json',
      'Accept':'text/plain'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/translationWorksheets/{translationLocale}#content',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /translationWorksheets/{translationLocale}#content

    Extract the translator's localization worksheet from a report for the specified locale. The human translator can use the worksheet to translate individual strings, and the worksheet can later be saved back to the report.

    Body parameter

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Parameters

    Parameter In Type Required Description
    translationLocale path string true The locale for which the translation should be extracted.
    validate query boolean false Determine whether to validate the report content against an XML schema. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform's errorMessages list. The localization action will still be attempted, even if there are errors.
    body body transform true The BIRD report from which to extract the translatable strings.

    Example responses

    201

    Responses

    Status Meaning Description Schema
    201 Created Successful creation of language worksheet from the input report. translationWorksheet
    400 Bad Request The request was invalid. error2
    500 Internal Server Error Something unexpected happened. error2
    Response Headers
    Status Header Type Format Description
    201 Content-Type string As specified above for types produced.
    201 Location string Typically, the location of the persistent report resource, if there is one involved. Not applicable in this situation because results are returned directly to the user.

    Translate a saved report

    Code samples

    # You can also use wget
    curl -X GET https://www.example.com/reportTransforms/translatedReports/{reportId}/{translationLocale}/ \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json'
    
    
    var headers = {
      'Accept':'application/vnd.sas.report.transform+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/translatedReports/{reportId}/{translationLocale}/',
      method: 'get',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    GET /translatedReports/{reportId}/{translationLocale}/

    Translate an existing report into the desired language. Substitutes previously translated strings for the specified language into the body of the report. Uses strings that are in the report's internal localizations.

    Parameters

    Parameter In Type Required Description
    reportId path string true The report from which the report should be read, translated, and returned.
    translationLocale path string true The language in which the report should be returned.
    validate query boolean false Determine whether to validate the report content against an XML schema. Defaults to true. Schema validation errors do not necessarily halt processing. Errors are reported in the transform's errorMessages list.

    Example responses

    200

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Responses

    Status Meaning Description Schema
    200 OK Successful translation produced from report and returned. transform
    400 Bad Request The request contains invalid content that cannot be processed, or the report does not have the translation for the requested locale (error code 27532). error2
    500 Internal Server Error A server error occurred and has been logged. error2
    Response Headers
    Status Header Type Format Description
    200 Content-Type string As specified above for type produced.
    200 ETag string Identifier of the existing report.

    Translate a submitted report

    Code samples

    # You can also use wget
    curl -X POST https://www.example.com/reportTransforms/translatedReports/{translationLocale}/ \
      -H 'Content-Type: application/vnd.sas.report.transform+json' \
      -H 'Authorization: Bearer <access-token-goes-here>' \ 
      -H 'Accept: application/vnd.sas.report.transform+json'
    
    
    var headers = {
      'Content-Type':'application/vnd.sas.report.transform+json',
      'Accept':'application/vnd.sas.report.transform+json'
    
    };
    
    $.ajax({
      url: 'https://www.example.com/reportTransforms/translatedReports/{translationLocale}/',
      method: 'post',
    
      headers: headers,
      success: function(data) {
        console.log(JSON.stringify(data));
      }
    })
    
    

    POST /translatedReports/{translationLocale}/

    Translate the report in the body of the request using its internal localization for the requested language. Substitute the translated strings from the internal localization for the original strings in the body of the report. Return a transform containing the translated report.

    Body parameter

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",
      "resultReport": {
        "id": "4eb3b675-e107-4857-a8f4-51aa555ac7e7",
        "name": "TEST Report",
        "description": "TEST Description",
        "createdBy": "bob",
        "creationTimeStamp": "2016-04-19T14:54:04.705Z",
        "modifiedBy": "bob",
        "modifiedTimeStamp": "2016-04-19T14:55:11.643Z",
        "links": [
          {
            "method": "GET",
            "rel": "self",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report"
          },
          {
            "method": "GET",
            "rel": "alternate",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.summary"
          },
          {
            "method": "PUT",
            "rel": "update",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "type": "application/vnd.sas.report",
            "responseType": "application/vnd.sas.report"
          },
          {
            "method": "DELETE",
            "rel": "delete",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7"
          },
          {
            "method": "GET",
            "rel": "currentUserState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "POST",
            "rel": "createState",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.report.state.info"
          },
          {
            "method": "GET",
            "rel": "states",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states",
            "type": "application/vnd.sas.collection"
          },
          {
            "method": "GET",
            "rel": "content",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content"
          },
          {
            "method": "PUT",
            "rel": "updateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content",
            "type": "application/vnd.sas.report.content",
            "responseType": "application/vnd.sas.report.content"
          },
          {
            "method": "GET",
            "rel": "contentElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "GET",
            "rel": "contentVisualElements",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement",
            "type": "application/vnd.sas.collection",
            "itemType": "application/vnd.sas.report.content.element"
          },
          {
            "method": "POST",
            "rel": "validateContent",
            "href": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "uri": "/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation",
            "responseType": "application/vnd.sas.report.content.validation"
          }
        ],
        "imageUris": {
          "icon": "/reports/icons/report.gif"
        },
        "version": 1
      },
      "dataSources": [
        {
          "purpose": "original",
          "namePattern": "serverLibraryTable",
          "server": "cas1",
          "library": "public",
          "table": "mailorders",
          "replacementLabel": "Mail Orders for Current Year",
          "dataItemReplacements": [
            {
              "originalName": "bi124",
              "replacementColumn": "customer"
            },
            {
              "originalColumn": "ADDR",
              "replacementColumn": "Address"
            }
          ]
        }
      ],
      "schemaValidationStatus": "schemaValid",
      "evaluationStatus": "evaluationValid",
      "evaluation": [
        "string"
      ],
      "messages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "errorMessages": [
        {
          "code": 27599,
          "text": "There was a problem in transforming this element.",
          "item": "bi1349"
        }
      ],
      "reportContent": {
        "xmlns": "string",
        "label": "string",
        "modifiedBy": "string",
        "dateCreated": "2018-09-04T15:35:45Z",
        "dateModified": "2018-09-04T15:35:45Z",
        "lastModifiedApplicationName": "string",
        "createdBy": "string",
        "createdApplicationName": "string",
        "createdLocale": "string",
        "createdVersion": "string"
      },
      "links": [
        {
          "method": "string",
          "rel": "string",
          "uri": "string",
          "href": "string",
          "title": "string",
          "type": "string",
          "itemType": "string",
          "responseType": "string",
          "responseItemType": "string"
        }
      ]
    }
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <transform>
      <id>string</id>
      <version>0</version>
      <creationTimeStamp>2018-09-04T15:35:45Z</creationTimeStamp>
      <createdBy>string</createdBy>
      <modifiedTimeStamp>2018-09-04T15:35:45Z</modifiedTimeStamp>
      <modifiedBy>string</modifiedBy>
      <inputReportUri>http://example.com</inputReportUri>
      <resultReportName>http://example.com</resultReportName>
      <resultParentFolderUri>http://example.com</resultParentFolderUri>
      <resultReport>
        <id>4eb3b675-e107-4857-a8f4-51aa555ac7e7</id>
        <name>TEST Report</name>
        <description>TEST Description</description>
        <createdBy>bob</createdBy>
        <creationTimeStamp>2016-04-19T14:54:04.705Z</creationTimeStamp>
        <modifiedBy>bob</modifiedBy>
        <modifiedTimeStamp>2016-04-19T14:55:11.643Z</modifiedTimeStamp>
        <links>
          <method>GET</method>
          <rel>self</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
        </links>
        <links>
          <method>GET</method>
          <rel>alternate</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.summary</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>update</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
          <type>application/vnd.sas.report</type>
          <responseType>application/vnd.sas.report</responseType>
        </links>
        <links>
          <method>DELETE</method>
          <rel>delete</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7</uri>
        </links>
        <links>
          <method>GET</method>
          <rel>currentUserState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states/@currentUserState</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>POST</method>
          <rel>createState</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.report.state.info</type>
        </links>
        <links>
          <method>GET</method>
          <rel>states</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/states</uri>
          <type>application/vnd.sas.collection</type>
        </links>
        <links>
          <method>GET</method>
          <rel>content</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
        </links>
        <links>
          <method>PUT</method>
          <rel>updateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content</uri>
          <type>application/vnd.sas.report.content</type>
          <responseType>application/vnd.sas.report.content</responseType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>GET</method>
          <rel>contentVisualElements</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/elements?characteristics=visualElement</uri>
          <type>application/vnd.sas.collection</type>
          <itemType>application/vnd.sas.report.content.element</itemType>
        </links>
        <links>
          <method>POST</method>
          <rel>validateContent</rel>
          <href>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</href>
          <uri>/reports/reports/4eb3b675-e107-4857-a8f4-51aa555ac7e7/content/validation</uri>
          <responseType>application/vnd.sas.report.content.validation</responseType>
        </links>
        <imageUris>
          <icon>/reports/icons/report.gif</icon>
        </imageUris>
        <version>1</version>
      </resultReport>
      <dataSources>
        <purpose>original</purpose>
        <namePattern>serverLibraryTable</namePattern>
        <server>cas1</server>
        <library>public</library>
        <table>mailorders</table>
        <replacementLabel>Mail Orders for Current Year</replacementLabel>
        <dataItemReplacements>
          <originalName>bi124</originalName>
          <replacementColumn>customer</replacementColumn>
        </dataItemReplacements>
        <dataItemReplacements>
          <originalColumn>ADDR</originalColumn>
          <replacementColumn>Address</replacementColumn>
        </dataItemReplacements>
      </dataSources>
      <schemaValidationStatus>schemaValid</schemaValidationStatus>
      <evaluationStatus>evaluationValid</evaluationStatus>
      <evaluation>string</evaluation>
      <messages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </messages>
      <errorMessages>
        <code>27599</code>
        <text>There was a problem in transforming this element.</text>
        <item>bi1349</item>
      </errorMessages>
      <reportContent>
        <xmlns>string</xmlns>
        <label>string</label>
        <modifiedBy>string</modifiedBy>
        <dateCreated>2018-09-04T15:35:45Z</dateCreated>
        <dateModified>2018-09-04T15:35:45Z</dateModified>
        <lastModifiedApplicationName>string</lastModifiedApplicationName>
        <createdBy>string</createdBy>
        <createdApplicationName>string</createdApplicationName>
        <createdLocale>string</createdLocale>
        <createdVersion>string</createdVersion>
      </reportContent>
      <links>
        <method>string</method>
        <rel>string</rel>
        <uri>string</uri>
        <href>string</href>
        <title>string</title>
        <type>string</type>
        <itemType>string</itemType>
        <responseType>string</responseType>
        <responseItemType>string</responseItemType>
      </links>
    </transform>
    

    Parameters

    Parameter In Type Required Description
    translationLocale path string true The language of the translation.
    saveResult query boolean false Determines whether the transformed report is saved to the repository. If false, the transformed report is returned to the client as part of the body. If true, the BIRD report is saved in the repository and not returned in the body of the response. The vnd.sas.report.transform in the response body contains links to retrieve the resulting resource.
    validate query boolean false Determine whether the report content is to be schema validated. Defaults to true. When validation is performed, errors do not necessarily halt processing; the evaluation will still be done.
    body body transform true The body of the request contains the input transform and the report on which the translation is done.

    Example responses

    201

    {
      "id": "string",
      "version": 0,
      "creationTimeStamp": "2018-09-04T15:35:45Z",
      "createdBy": "string",
      "modifiedTimeStamp": "2018-09-04T15:35:45Z",
      "modifiedBy": "string",
      "inputReportUri": "http://example.com",
      "resultReportName": "http://example.com",
      "resultParentFolderUri": "http://example.com",