{
    "openapi":"3.0.0",
    "info":{
        "title":"REST API for Fusion Cloud Transportation and Global Trade Management Data Export",
        "version":"2026.03.05",
        "description":"Fusion Cloud Transportation and Global Trade Management data export REST APIs which can be used to take table-centric data and export it to external systems.",
        "x-summary":"Fusion Cloud Transportation and Global Trade Management data export REST APIs which can be used to take table-centric data and export it to external systems."
    },
    "paths":{
        "/exportRequests":{
            "post":{
                "tags":[
                    "Export Requests"
                ],
                "summary":"Create Export Request",
                "parameters":[
                    {
                        "$ref":"#/components/parameters/asyncHeader"
                    }
                ],
                "requestBody":{
                    "content":{
                        "application/json":{
                            "schema":{
                                "$ref":"#/components/schemas/exportRequests"
                            }
                        }
                    }
                },
                "responses":{
                    "200":{
                        "description":"CSV content for synchronous request",
                        "content":{
                            "text/plain":{
                                "example":{
                                    "value":"SHIPMENT\nSHIPMENT_GID,SHIPMENT_NAME,PERSPECTIVE\nGUEST.001,MY_SHIP_1,B\nGUEST.002,MY_SHIP_2,S"
                                }
                            },
                            "text/csv":{
                                "example":{
                                    "value":"SHIPMENT_GID,SHIPMENT_NAME,PERSPECTIVE\nGUEST.001,MY_SHIP_1,B\nGUEST.002,MY_SHIP_2,S"
                                }
                            }
                        }
                    },
                    "202":{
                        "description":"Status Response for asynchronous request.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/exportStatuses"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Error in request",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/errorResponse"
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"exportRequests-post",
                "x-filename-id":"exportrequests-post"
            }
        },
        "/custom-actions/cancel/exportRequests/{requestID}":{
            "post":{
                "tags":[
                    "Export Requests/Custom Actions"
                ],
                "summary":"Cancel Export Request",
                "parameters":[
                    {
                        "name":"requestID",
                        "in":"path",
                        "required":true,
                        "description":"Export Request ID",
                        "schema":{
                            "type":"string"
                        }
                    }
                ],
                "responses":{
                    "204":{
                        "description":"Cancellation of Export Request has been requested."
                    },
                    "404":{
                        "description":"Export Request has not been found."
                    }
                },
                "x-internal-id":"custom-actions-cancel-exportRequests-{requestID}-post",
                "x-filename-id":"custom-actions-cancel-exportrequests-requestid-post"
            }
        },
        "/exportStatuses":{
            "get":{
                "tags":[
                    "Export Statuses"
                ],
                "summary":"Get Export Statuses",
                "parameters":[
                    {
                        "$ref":"#/components/parameters/limit"
                    },
                    {
                        "$ref":"#/components/parameters/offset"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"Collection of Export Status Response.",
                        "content":{
                            "application/vnd.oracle.resource+json;type=collection":{
                                "schema":{
                                    "properties":{
                                        "items":{
                                            "type":"array",
                                            "items":{
                                                "$ref":"#/components/schemas/exportStatuses"
                                            }
                                        },
                                        "links":{
                                            "type":"array",
                                            "items":{
                                                "$ref":"#/components/schemas/links"
                                            }
                                        }
                                    },
                                    "required":[
                                        "items"
                                    ]
                                }
                            }
                        }
                    }
                },
                "x-internal-id":"exportStatuses-get",
                "x-filename-id":"exportstatuses-get"
            }
        },
        "/exportStatuses/{requestID}":{
            "get":{
                "tags":[
                    "Export Statuses"
                ],
                "summary":"Get Export Status",
                "parameters":[
                    {
                        "name":"requestID",
                        "in":"path",
                        "required":true,
                        "description":"Export Request ID",
                        "schema":{
                            "type":"string"
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"Export Status Response.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/exportStatuses"
                                }
                            }
                        }
                    },
                    "404":{
                        "description":"Export Status Response not found."
                    }
                },
                "x-internal-id":"exportStatuses-{requestID}-get",
                "x-filename-id":"exportstatuses-requestid-get"
            }
        }
    },
    "components":{
        "schemas":{
            "exportRequests":{
                "allOf":[
                    {
                        "$ref":"#/components/schemas/configOptionsType"
                    },
                    {
                        "type":"object",
                        "properties":{
                            "schema":{
                                "description":"Used to specify the database schema which owns the tables to be extracted. Defaults to PRIMARY.",
                                "type":"string"
                            },
                            "excludePublic":{
                                "description":"If true, PUBLIC data will not be included in exported content. Defaults to true.",
                                "type":"boolean"
                            },
                            "targetSystem":{
                                "description":"Specifies where content should be sent.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/targetSystemType"
                                    }
                                ]
                            },
                            "contentType":{
                                "description":"Specifies media type for the content. Defaults to text/plain (currently only text/plain is supported).",
                                "type":"string"
                            },
                            "externalRef":{
                                "description":"Specifies an external reference that can be used to correlate requests.",
                                "type":"string"
                            },
                            "rangeAfter":{
                                "description":"Only include records that were inserted or updated after this date/time.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/dateTimeType"
                                    }
                                ]
                            },
                            "rangeBefore":{
                                "description":"Only include records that were inserted or updated before this date/time.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/dateTimeType"
                                    }
                                ]
                            },
                            "objects":{
                                "description":"Describes content to be exported based on individally declared object names.",
                                "allOf":[
                                    {
                                        "type":"object",
                                        "properties":{
                                            "resourceName":{
                                                "description":"Name of resource to provide export records.",
                                                "type":"string"
                                            },
                                            "partSize":{
                                                "description":"Specifies a limit to the number of records included in one physical message part.",
                                                "type":"integer"
                                            },
                                            "offset":{
                                                "description":"Used if multiple requests are needed which can occur if row limits are exceeded.",
                                                "type":"integer"
                                            },
                                            "filterCriteria":{
                                                "description":"Alternative criteria used to select records in preference to rangeAfter & rangeBefore.",
                                                "type":"object",
                                                "properties":{
                                                    "copiedFrom":{
                                                        "description":"Saved Query GID to be executed to identify primary keys of target records.",
                                                        "type":"string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                ]
                            },
                            "tables":{
                                "description":"Describes content to be exported based on individally declared table names.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/requestItemType"
                                    },
                                    {
                                        "type":"object",
                                        "properties":{
                                            "schema":{
                                                "description":"Used to specify the database schema which owns the table to be extracted. Defaults to schema specified at root level or PRIMARY.",
                                                "type":"string"
                                            },
                                            "tableName":{
                                                "description":"Name of table to provide export records.",
                                                "type":"string"
                                            },
                                            "selectList":{
                                                "description":"Comma-separated list of columns to override all columns if not specified.",
                                                "type":"string"
                                            },
                                            "filterCriteria":{
                                                "description":"Alternative criteria used to select records in preference to rangeAfter & rangeBefore.",
                                                "type":"object",
                                                "properties":{
                                                    "copiedFrom":{
                                                        "description":"Saved Query GID to be executed to identify primary keys of target records.",
                                                        "type":"string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                ]
                            },
                            "deletes":{
                                "description":"Used to export the list of primary keys deleted from a table within in a given time period.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/requestItemType"
                                    },
                                    {
                                        "type":"object",
                                        "properties":{
                                            "schema":{
                                                "description":"Used to specify the database schema which owns the table to be extracted. Currently only PRIMARY is supported.",
                                                "type":"string"
                                            },
                                            "tableName":{
                                                "description":"Name of table.",
                                                "type":"string"
                                            }
                                        }
                                    }
                                ]
                            }
                        }
                    }
                ]
            },
            "requestItemType":{
                "description":"Describes properties common to all item types. Many will override the corresponding value at the request level, if present.",
                "allOf":[
                    {
                        "$ref":"#/components/schemas/configOptionsType"
                    },
                    {
                        "type":"object",
                        "properties":{
                            "excludePublic":{
                                "description":"If true, PUBLIC data will not be included in exported content. Defaults to true.",
                                "type":"boolean"
                            },
                            "targetSystem":{
                                "description":"Specifies where content should be sent.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/targetSystemType"
                                    }
                                ]
                            },
                            "externalRef":{
                                "description":"Specifies an external reference that can be used to correlate request items.",
                                "type":"string"
                            },
                            "rangeAfter":{
                                "description":"Only include records that were inserted or updated after this date/time.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/dateTimeType"
                                    }
                                ]
                            },
                            "rangeBefore":{
                                "description":"Only include records that were inserted or updated before this date/time.",
                                "allOf":[
                                    {
                                        "$ref":"#/components/schemas/dateTimeType"
                                    }
                                ]
                            },
                            "partSize":{
                                "description":"Specifies a limit to the number of records included in one physical message part.",
                                "type":"integer"
                            },
                            "offset":{
                                "description":"Used if multiple requests are needed which can occur if row limits are exceeded.",
                                "type":"integer"
                            }
                        }
                    }
                ]
            },
            "exportStatuses":{
                "description":"Extended standard status message with additional Data Replication status data.",
                "allOf":[
                    {
                        "$ref":"#/components/schemas/oraStatuses"
                    },
                    {
                        "type":"object",
                        "properties":{
                            "result":{
                                "description":"Specifies the full request status.",
                                "type":"object",
                                "properties":{
                                    "body":{
                                        "type":"object",
                                        "properties":{
                                            "requestID":{
                                                "description":"Export Request ID",
                                                "type":"string"
                                            },
                                            "submitDate":{
                                                "description":"Date/Time at which the request was submitted.",
                                                "allOf":[
                                                    {
                                                        "$ref":"#/components/schemas/dateTimeType"
                                                    }
                                                ]
                                            },
                                            "externalRef":{
                                                "description":"External reference passed in request message. Can be used to correlate the request.",
                                                "type":"string"
                                            },
                                            "tables":{
                                                "properties":{
                                                    "items":{
                                                        "type":"array",
                                                        "items":{
                                                            "$ref":"#/components/schemas/exportStatusItemType"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                ]
            },
            "exportStatusItemType":{
                "description":"Specifies the status of an individual request item.",
                "properties":{
                    "itemID":{
                        "description":"The unique request item ID within this request.",
                        "type":"string"
                    },
                    "itemName":{
                        "description":"Name of table providing the content for this item.",
                        "type":"string"
                    },
                    "externalRef":{
                        "description":"External reference passed in request item. Can be used to correlate the request item.",
                        "type":"string"
                    },
                    "progress":{
                        "$ref":"#/components/schemas/progressType"
                    },
                    "totalResults":{
                        "description":"The total number of records matching the filter criteria for this item.",
                        "type":"string"
                    },
                    "offset":{
                        "description":"Specifies the offset within a result set from which to start replicating content. Defaults to 0.",
                        "type":"integer",
                        "format":"int32"
                    },
                    "partSize":{
                        "description":"Specifies any limit applied to the number of records to be included within any part for this item.",
                        "type":"integer",
                        "format":"int32"
                    },
                    "totalRecordCount":{
                        "description":"The total number of records in all parts for this item..",
                        "type":"string"
                    },
                    "parts":{
                        "description":"Information for each part within the item.",
                        "properties":{
                            "count":{
                                "description":"Total number of parts produced (so far if still in progress) for the item.",
                                "type":"integer",
                                "format":"int32"
                            },
                            "items":{
                                "type":"array",
                                "items":{
                                    "$ref":"#/components/schemas/partType"
                                }
                            }
                        }
                    }
                }
            },
            "partType":{
                "description":"Details for each part exported.",
                "properties":{
                    "partName":{
                        "description":"The unique file name for the part. See online API documentation for naming standard.",
                        "type":"string"
                    },
                    "recordCount":{
                        "description":"Total number of data rows contained in the part.",
                        "type":"integer",
                        "format":"int32"
                    },
                    "checksum":{
                        "description":"A hash of the file contents using the algorithm specified in the request. Defaults to MD5.",
                        "type":"string"
                    },
                    "errorStatus":{
                        "description":"Error status from the external system if the transport of the exported file fails.",
                        "type":"string"
                    }
                }
            },
            "targetSystemType":{
                "description":"Specifies target system details for destination of data replication content.",
                "properties":{
                    "targetURL":{
                        "description":"Specifies target system URL e.g. Object Storage PAR.",
                        "type":"string"
                    },
                    "httpMethod":{
                        "description":"Specifies HTTP method to be used - POST, PUT etc. Defaults to POST",
                        "type":"string"
                    },
                    "externalSystem":{
                        "description":"Specifies External System GID where target details are configured.",
                        "type":"string"
                    },
                    "comMethod":{
                        "description":"Specifies transport method to be used to send content. Defaults to REST (currently only REST is supported).",
                        "type":"string"
                    },
                    "path":{
                        "description":"Specifies any additional path element that should be appended to target system URL. Note: this would be before any additional part name is also appended.",
                        "type":"string"
                    },
                    "appendName":{
                        "description":"If true, the part name will be appended as an additional path element to the target system URL. Defaults to false.",
                        "type":"boolean"
                    }
                }
            },
            "configOptionsType":{
                "description":"Specifies various configuration options that control the output of data replication content.",
                "properties":{
                    "contentCompression":{
                        "description":"Specifies if content should be compressed. Supported options are zip and gzip. Default is 'gzip'.",
                        "type":"string"
                    },
                    "contentDigest":{
                        "description":"Specifies algorithm to be used to calculate the checksum for each part. Only 'md5' is supported.",
                        "type":"string"
                    },
                    "contentDateTimeFormat":{
                        "description":"Specifies how date/times should be formatted in output content. Valid patterns are defined by java.time.format.DataTimeFormatter. Defaults to ISO_OFFSET_DATE_TIME",
                        "type":"string"
                    },
                    "contentDateFormat":{
                        "description":"Specifies how dates should be formatted in output content. Valid patterns are defined by java.time.format.DataTimeFormatter. Defaults to ISO_LOCAL_DATE",
                        "type":"string"
                    },
                    "contentTimeZone":{
                        "description":"Specifies time zone for date/times. Valid names are defined by java.time.ZoneId. Defaults to 'UTC'",
                        "type":"string"
                    },
                    "contentSendEmptyFile":{
                        "description":"Specifies if an empty file should be sent if no records match query criteria. Default is false.",
                        "type":"boolean"
                    },
                    "contentFilePrefix":{
                        "description":"Specifies prefix to be pre-pended to filenames. Default is 'DATA_'.",
                        "type":"string"
                    }
                }
            },
            "links":{
                "properties":{
                    "rel":{
                        "type":"string"
                    },
                    "href":{
                        "type":"string"
                    }
                }
            },
            "dateTimeType":{
                "properties":{
                    "value":{
                        "description":"Date in ISO 8601 format",
                        "type":"string",
                        "format":"date-time"
                    },
                    "timezone":{
                        "description":"Timezone in Olson database format",
                        "type":"string"
                    }
                }
            },
            "oraStatuses":{
                "properties":{
                    "progress":{
                        "$ref":"#/components/schemas/progressType"
                    },
                    "startTime":{
                        "description":"Time at which the transaction starts.",
                        "allOf":[
                            {
                                "$ref":"#/components/schemas/dateTimeType"
                            }
                        ]
                    },
                    "completed":{
                        "description":"Indicates the completion status of the message.",
                        "type":"boolean"
                    },
                    "endTime":{
                        "description":"Time at which the transaction ended.",
                        "allOf":[
                            {
                                "$ref":"#/components/schemas/dateTimeType"
                            }
                        ]
                    },
                    "context":{
                        "description":"Context information specific to the type of request.",
                        "type":"string"
                    },
                    "links":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/links"
                        }
                    }
                }
            },
            "progressType":{
                "description":"Indicates the completion status.",
                "type":"string",
                "enum":[
                    "processing",
                    "pending",
                    "failed",
                    "interrupted",
                    "succeeded",
                    "cancelling",
                    "cancelled",
                    "unknown"
                ]
            },
            "errorResponse":{
                "properties":{
                    "status":{
                        "description":"HTTP status code.",
                        "type":"number"
                    },
                    "title":{
                        "description":"Provides a short summary message.",
                        "type":"string"
                    },
                    "detail":{
                        "description":"Provides more information about the error.",
                        "type":"string"
                    }
                },
                "required":[
                    "status",
                    "title",
                    "detail"
                ]
            }
        },
        "parameters":{
            "asyncHeader":{
                "name":"Prefer",
                "in":"header",
                "required":false,
                "description":"Optional header parameter to process the request asynchronously",
                "schema":{
                    "type":"string",
                    "enum":[
                        "respond-async"
                    ]
                }
            },
            "limit":{
                "name":"limit",
                "in":"query",
                "required":false,
                "description":"Positive integer value that specifies the maximum number of items returned by the server.",
                "schema":{
                    "type":"integer",
                    "format":"int32"
                }
            },
            "offset":{
                "name":"offset",
                "in":"query",
                "required":false,
                "description":"Non-negative integer values that specifies the index of the first item to be returned. The offset index begins at 0. By default, the offset is 0, which returns all items starting from the first item in the collection.",
                "schema":{
                    "type":"integer",
                    "format":"int32"
                }
            }
        }
    },
    "tags":[
        {
            "name":"Export Requests",
            "description":"The operations from the Export Requests category."
        },
        {
            "name":"Export Requests/Custom Actions",
            "description":"The operations from the Export Requests/Custom Actions category."
        },
        {
            "name":"Export Statuses",
            "description":"The operations from the Export Statuses category."
        }
    ]
}