{
  "openapi": "3.0.1",
  "info": {
    "title": "API Tracing Code",
    "description": "API specifications for API Tracing Code interface issued by SOGET",
    "contact": {
      "name": "SOGET S.A.",
      "url": "https://www.soget.fr/",
      "email": "hello@soget.fr"
    },
    "license": {
      "name": "Copyright © SOGET",
      "url": "https://www.soget.fr/"
    },
    "version": "v1"
  },
  "paths": {
    "/handling-units": {
      "get": {
        "tags": [
          "HandlingUnits"
        ],
        "summary": "Filter handling units by reference or by S)ONE ID and get a list of handling units : general information, information on shipments, transports and events.\r\nAn handling unit corresponds to a container or a good.",
        "description": "Sample request :\r\n\r\n    GET /handling-units?reference=CGMU2436601&spi=CNI0000063978&limit=5&offset=0&desc=true",
        "parameters": [
          {
            "name": "reference",
            "in": "query",
            "description": "Handling unit reference with which to filter.",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "spi",
            "in": "query",
            "description": "Handling unit ID with which to filter; ID corresponds to the single passage identificator in S)ONE.",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "desc",
            "in": "query",
            "description": "Boolean that indicates the sort order. If it is set to true, results will be sorted by descending order.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of results to be returned. Max value is 10.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 5
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Index of the first returned result.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HandlingUnitItemsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpBusinessError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpBusinessError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Actors": {
        "type": "object",
        "properties": {
          "freightAgent": {
            "type": "string",
            "description": "Freight Agent.",
            "nullable": true,
            "example": "CSGT"
          },
          "freightForwarder": {
            "type": "string",
            "description": "Freight Forwarder.",
            "nullable": true,
            "example": "2308522"
          }
        },
        "additionalProperties": false,
        "description": "Actors information."
      },
      "CustomsFlag": {
        "enum": [
          "Unknown",
          "Import",
          "Export",
          "Transhipment",
          "Transit"
        ],
        "type": "string",
        "description": "List of possible customs flag information : \r\n<br>- Unknown (undefined flag - default value)<br>- Import<br>- Export<br>- Transhipment<br>- Transit"
      },
      "EmptyReturn": {
        "type": "object",
        "properties": {
          "dueDate": {
            "type": "string",
            "description": "Due date\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "example": "2022-11-19T22:00:00+00:00"
          },
          "finishDateEarliest": {
            "type": "string",
            "description": "Finish date earliest\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "example": "2022-11-20T22:00:00+00:00"
          },
          "finishDateLatest": {
            "type": "string",
            "description": "Finish date latest\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "example": "2022-11-21T22:00:00+00:00"
          }
        },
        "additionalProperties": false,
        "description": "Empty return  information."
      },
      "EventInformation": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Type of event.",
            "nullable": true,
            "example": "GIR"
          },
          "eventDate": {
            "type": "string",
            "description": "Event date.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "example": "2019-11-12T07:41:00+08:30"
          },
          "eventPlace": {
            "type": "string",
            "description": "Place of event",
            "nullable": true,
            "example": "FRLEH"
          },
          "eventLocation": {
            "type": "string",
            "description": "Location of event",
            "nullable": true,
            "example": "MTNOTMS"
          },
          "eventWay": {
            "$ref": "#/components/schemas/Way"
          },
          "eventTransportMode": {
            "type": "integer",
            "description": "Transport mode of event\r\n<br>Unece Recommendation 19",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false,
        "description": "An event corresponds to a movement or an authorization on the handling unit, occured on a location."
      },
      "FreightFamily": {
        "enum": [
          "Container",
          "BreakBulk",
          "SolidBulk",
          "LiquidBulk",
          "MobileUnits"
        ],
        "type": "string",
        "description": "The freight family handled by this service is only Container and Breakbulk.\r\n<br>- Container : Toys, televisions, DVDs, clothing, meat and computers; containers are the best way to transport these and many similar products. By efficiently loading the goods, they can be transported simultaneously in large quantities. The standard sizes mean containers fit on sea-going vessels, lorries, inland barges and train wagons.<br>- BreakBulk : Paper, wood, bags of cocoa, rolls of steel, parts of wind turbines; these are all products that can be transported in a container or simply put on a vessel."
      },
      "HandlingUnit": {
        "type": "object",
        "properties": {
          "reference": {
            "maxLength": 17,
            "minLength": 0,
            "type": "string",
            "description": "Handling unit reference.\r\n<br>e.g. if the handling unit is an an equipment, this reference should follow the BIC ISO Container Identification Number where possible.",
            "nullable": true,
            "example": "CGMU2436601"
          },
          "pswId": {
            "maxLength": 13,
            "minLength": 0,
            "type": "string",
            "description": "S)ONE ID of the handling unit.\r\n<br>This unique identifier is composed of a prefix(3 characters) and a number(10 digits).",
            "nullable": true,
            "example": "CNI0000063978"
          },
          "freightFamily": {
            "$ref": "#/components/schemas/FreightFamily"
          },
          "sizeType": {
            "type": "string",
            "description": "Size type of container.\r\n<br>Applicable for containers only.",
            "nullable": true,
            "example": "22G1"
          },
          "packagingCode": {
            "type": "string",
            "description": "Packaging code of breakbulk.\r\n<br>Applicable for breakbulk only.",
            "nullable": true,
            "example": "PK"
          },
          "measures": {
            "$ref": "#/components/schemas/Measures"
          },
          "indicators": {
            "$ref": "#/components/schemas/Indicators"
          },
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/References"
            },
            "description": "Linked references. This reference should be :\r\n<br>a sequence number for export process,<br>a rank reference for export process.",
            "nullable": true
          },
          "customsFlag": {
            "$ref": "#/components/schemas/CustomsFlag"
          },
          "huLocation": {
            "$ref": "#/components/schemas/HuLocation"
          },
          "actors": {
            "$ref": "#/components/schemas/Actors"
          },
          "temperatures": {
            "$ref": "#/components/schemas/Temperatures"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Shipment"
            },
            "description": "Shipments information.\r\n<br>This corresponds to the documentary information related to the handling unit, such as booking or bill of lading information.",
            "nullable": true
          },
          "transport": {
            "$ref": "#/components/schemas/Transport"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventInformation"
            },
            "description": "Events information.",
            "nullable": true
          },
          "hazardousItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HazardousItem"
            },
            "description": "Hazardous information.",
            "nullable": true
          },
          "emptyReturn": {
            "$ref": "#/components/schemas/EmptyReturn"
          }
        },
        "additionalProperties": false,
        "description": "Handling unit information\r\n<br>An handling unit corresponds to a container or a good."
      },
      "HandlingUnitItemsResponseModel": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Total amount of objects matching given parameters.",
            "format": "int32",
            "example": 3
          },
          "returned": {
            "type": "integer",
            "description": "Amount of objects returned by the paginated query.",
            "format": "int32",
            "example": 1
          },
          "first": {
            "type": "integer",
            "description": "Index of the first returned object.",
            "format": "int32",
            "example": 0
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HandlingUnit"
            },
            "description": "Items returned by the query.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Object containing several results returned by a query, along with additionnal information about the results.\r\n<br>Object result types : <br>- HandlingUnitItemsResponseModel :  List of returned handling units"
      },
      "HazardousItem": {
        "type": "object",
        "properties": {
          "imoClass": {
            "type": "string",
            "description": "Dangerous class (IMO)",
            "nullable": true,
            "example": "1.1"
          },
          "limitedQuantity": {
            "type": "boolean",
            "description": "Limited quantity",
            "nullable": true,
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Hazardous item."
      },
      "HttpBusinessError": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Http error status.",
            "nullable": true,
            "example": "NotFound"
          },
          "timestamp": {
            "type": "string",
            "description": "Error date.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "example": "2022-11-17T15:40:39.8381389Z"
          },
          "code": {
            "type": "string",
            "description": "Business error code.\r\n<br>The possible values are :<br>- R001 : No handling unit was found<br>- R002 : The handling unit is null<br>- R003 : The handling unit is not correctly formated",
            "nullable": true,
            "example": "R001"
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "nullable": true,
            "example": "No handling unit was found"
          }
        },
        "additionalProperties": false,
        "description": "Business error management."
      },
      "HuLocation": {
        "type": "object",
        "properties": {
          "place": {
            "type": "string",
            "description": "Current place of the handling unit.",
            "nullable": true,
            "example": "FRLEH"
          },
          "location": {
            "type": "string",
            "description": "Current location of the handling unit.",
            "nullable": true,
            "example": "MTDF"
          }
        },
        "additionalProperties": false,
        "description": "Current location information"
      },
      "Indicators": {
        "type": "object",
        "properties": {
          "hazardous": {
            "type": "boolean",
            "description": "Hazardous indicator.",
            "example": true
          },
          "empty": {
            "type": "boolean",
            "description": "Indicator to denote whether the equipment is empty or laden. \r\n<br>Applicable for the container only.",
            "example": false
          },
          "reefer": {
            "type": "boolean",
            "description": "Reefer indicator.",
            "example": true
          },
          "pollutant": {
            "type": "boolean",
            "description": "Pollutant indicator.",
            "example": false
          },
          "fumigation": {
            "type": "boolean",
            "description": "Fumigation indicator.",
            "example": false
          },
          "quarantine": {
            "type": "boolean",
            "description": "Quarantine indicator.",
            "example": false
          }
        },
        "additionalProperties": false,
        "description": "Handling unit indicators."
      },
      "MeansIdType": {
        "enum": [
          "IMONumber",
          "CallSign",
          "IATA",
          "ICAO"
        ],
        "type": "string",
        "description": "Means identifier type. The possible values are : \r\n<br>- IMONumber for maritime transport<br>- CallSign for maritime transport"
      },
      "Measure": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Measure value.",
            "format": "double",
            "nullable": true,
            "example": 13030
          },
          "unit": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Value which comes from the international system of units.",
            "nullable": true,
            "example": "KGM"
          }
        },
        "additionalProperties": false,
        "description": "This object concerns the following fields :   \r\n<br>- GrossWeight (the default unit is KGM)<br>- Tare (the default unit is KGM)<br>- NetWeight (the default unit is KGM)<br>- Volume (the default unit is DMQ)"
      },
      "Measures": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "integer",
            "description": "Number of packages.",
            "format": "int32",
            "nullable": true,
            "example": 10
          },
          "weight": {
            "$ref": "#/components/schemas/Weight"
          },
          "volume": {
            "$ref": "#/components/schemas/Measure"
          },
          "remainingQuantity": {
            "type": "integer",
            "description": "Number of packages remaining at current location.\r\n<br>This field is used in the context of partial reports.<br>Applicable for breakbulk only.",
            "format": "int32",
            "nullable": true,
            "example": 4
          },
          "availableQuantity": {
            "type": "integer",
            "description": "Number of packages available at current location.\r\n<br>This field is used in the context of partial reports.<br>Applicable for breakbulk only.",
            "format": "int32",
            "nullable": true,
            "example": 3
          },
          "reportedQuantity": {
            "type": "integer",
            "description": "Number of package reported reported at current location.\r\n<br>This field is used in the context of partial reports.<br>Applicable for breakbulk only.",
            "format": "int32",
            "nullable": true,
            "example": 6
          },
          "remainingWeight": {
            "$ref": "#/components/schemas/Measure"
          }
        },
        "additionalProperties": false,
        "description": "Handling unit measures."
      },
      "ProcessingIndicator": {
        "enum": [
          "Unknown",
          "Transit",
          "Transhipment",
          "Import",
          "Export"
        ],
        "type": "string",
        "description": "List of possible processing indicator : \r\n<br>- Unknown (undefined flag - default value)<br>- Import<br>- Export<br>- Transhipment<br>- Transit"
      },
      "ReferenceType": {
        "enum": [
          "Rank",
          "SequenceNumber"
        ],
        "type": "string",
        "description": "Type of references which identified the handling unit. The possible values are : \r\n<br>- Rank and SequenceNumber for export procedure"
      },
      "References": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ReferenceType"
          },
          "value": {
            "type": "string",
            "description": "Value of reference.",
            "nullable": true,
            "example": "20NL050BC243E2C8A0"
          }
        },
        "additionalProperties": false,
        "description": "References linked to the handling unit\r\n<br> e.g. for process export, the equipment can be identified by the sequence number."
      },
      "Shipment": {
        "type": "object",
        "properties": {
          "documentReference": {
            "maxLength": 32,
            "minLength": 0,
            "type": "string",
            "description": "Reference of document that links to a shipment.\r\n<br>e.g. the reference should be a bill of lading number",
            "nullable": true,
            "example": "HLCUEUR2002APIK9"
          },
          "documentId": {
            "maxLength": 13,
            "minLength": 0,
            "type": "string",
            "description": "S)ONE ID of document.\r\n<br>This unique identifier is composed of a prefix (3 characters) and a number (10 digits).>",
            "nullable": true,
            "example": "DAI0000387547"
          },
          "documentType": {
            "type": "integer",
            "description": "Type of document (1001 norm Un/Edifact).",
            "format": "int32",
            "nullable": true,
            "example": 705
          },
          "documentDate": {
            "type": "string",
            "description": "Date of document.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "nullable": true,
            "example": "2020-05-07T14:38:54+02:00"
          },
          "originLocation": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Place of origin of the shipment.",
            "nullable": true,
            "example": "FRTLS"
          },
          "destinationLocation": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Place of destination of the shipment.",
            "nullable": true,
            "example": "FRNTE"
          },
          "processingIndicator": {
            "$ref": "#/components/schemas/ProcessingIndicator"
          },
          "merchantHaulage": {
            "type": "boolean",
            "description": "Indicator specifying that the freight forwarder may modify the shipment.",
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Shipment item."
      },
      "Temperatures": {
        "type": "object",
        "properties": {
          "setPoint": {
            "type": "number",
            "description": "Set point temperature.\r\n<br>The default unit is C.",
            "format": "double",
            "nullable": true,
            "example": -1
          },
          "rangeMin": {
            "type": "number",
            "description": "Min temperature.\r\n<br>The default unit is C.",
            "format": "double",
            "nullable": true,
            "example": -5
          },
          "rangeMax": {
            "type": "number",
            "description": "Max temperature.\r\n<br>The default unit is C.",
            "format": "double",
            "nullable": true,
            "example": 2
          }
        },
        "additionalProperties": false,
        "description": "Temperature information."
      },
      "Transport": {
        "type": "object",
        "properties": {
          "meansName": {
            "maxLength": 384,
            "minLength": 0,
            "type": "string",
            "description": "Transport means name.",
            "nullable": true,
            "example": "MSC EYRA"
          },
          "voyageId": {
            "maxLength": 13,
            "minLength": 0,
            "type": "string",
            "description": "S)ONE ID of the voyage.\r\n<br>This unique identifier is composed of a prefix (3 characters) and a number (10 digits).",
            "nullable": true,
            "example": "VOS0000034525"
          },
          "mode": {
            "type": "integer",
            "description": "Transport mode.\r\n<br>Unece Recommendation 19",
            "format": "int32",
            "example": 1
          },
          "meansNationality": {
            "type": "string",
            "description": "Transport means nationality.\r\n<br>ISO 3166 alpha 3",
            "nullable": true,
            "example": "GBR"
          },
          "voyageDates": {
            "$ref": "#/components/schemas/TransportDate"
          },
          "schedulePlace": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Schedule place.",
            "nullable": true,
            "example": "FRLEH"
          },
          "voyageAgentId": {
            "maxLength": 13,
            "minLength": 0,
            "type": "string",
            "description": "Voyage agent internal identifier composed of a prefix (3 characters) and a number (10 digits).",
            "nullable": true,
            "example": "VAG0000034525"
          },
          "voyageAgentReference": {
            "type": "string",
            "description": "Reference of the voyage agent.",
            "nullable": true,
            "example": "OWL-RDM-2305"
          },
          "meansType": {
            "type": "string",
            "description": "Transport means type.",
            "nullable": true,
            "example": "MVE"
          },
          "meansId": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransportMeansIdentifier"
            },
            "description": "Transport means identifier.",
            "nullable": true
          },
          "arrivalScheduleReference": {
            "maxLength": 384,
            "minLength": 0,
            "type": "string",
            "description": "Arrival reference.",
            "nullable": true,
            "example": "BA649R"
          },
          "departureScheduleReference": {
            "maxLength": 384,
            "minLength": 0,
            "type": "string",
            "description": "Departure reference.",
            "nullable": true,
            "example": "BA649A"
          }
        },
        "additionalProperties": false,
        "description": "Transport information."
      },
      "TransportDate": {
        "type": "object",
        "properties": {
          "eta": {
            "type": "string",
            "description": "Estimated Time of Arrival is the time when a ship, vehicle, aircraft, cargo, emergency service or person is expected to arrive at its destination.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "nullable": true,
            "example": "2020-05-19T22:00:00+00:00"
          },
          "etd": {
            "type": "string",
            "description": "Estimated Time of Departure is the time when a ship, vehicle, aircraft, cargo, emergency service or person is expected to depart from its point of origin.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "nullable": true,
            "example": "2020-05-20T23:00:00+00:00"
          },
          "ata": {
            "type": "string",
            "description": "Actual Time of Arrival is the time that a vessel or any other mode of transportation is determined to arrive at its destination.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "nullable": true,
            "example": "2020-05-19T22:43:17+00:00"
          },
          "atd": {
            "type": "string",
            "description": "Actual Time of Departure is the time that a vessel or any other mode of transportation is determined to depart from its point of origin.\r\n<br>ISO 8601 Extended Format",
            "format": "date-time",
            "nullable": true,
            "example": "2020-05-20T23:00:17+00:00"
          }
        },
        "additionalProperties": false,
        "description": "Transport dates"
      },
      "TransportMeansIdentifier": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/MeansIdType"
          },
          "name": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Name of means id",
            "nullable": true,
            "example": "9360142"
          }
        },
        "additionalProperties": false,
        "description": "The mean identifier for the transport,\r\n<br> e.g. when the mode of transport is a vessel, the transport mean identifier would be the vessel IMO number."
      },
      "Way": {
        "enum": [
          "In",
          "Out",
          "Undefined"
        ],
        "type": "string",
        "description": "Way of the movement on the location"
      },
      "Weight": {
        "type": "object",
        "properties": {
          "tare": {
            "$ref": "#/components/schemas/Measure"
          },
          "grossWeight": {
            "$ref": "#/components/schemas/Measure"
          },
          "netWeight": {
            "$ref": "#/components/schemas/Measure"
          }
        },
        "additionalProperties": false,
        "description": "Weight (the default unit is KGM) : \r\n<br>- GrossWeight<br>- Tare : applicable for container only<br>- NetWeight"
      }
    },
    "securitySchemes": {
      "bearer_token": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "api_key": {
        "type": "apiKey",
        "name": "Ocp-Apim-Subscription-Key",
        "in": "header"
      }
    }
  },
  "x-topics": [
    {
      "title": "Get Started",
      "content": "# Format\n\nSoget API platform exposes RESTful APIs. \n\nOur API uses the HTTP methods to connect to our data sources. It returns responses in JSON format in UTF-8 encoding. It uses:\n\n- ISO-8601 format for date and time,\n- JSON object or JSON array in the body of POST and PUT methods,\n- *Application/json; charset=UTF-8* in the parameter *Content-Type* of the header\n\n# Parameters\n\nParameters must be passed:\n\n- in the URL’s query string for GET and DELETE requests;\n- in the request’s body for PUT and POST requests.\n\nIf the call requires other parameters, add them as well with the appropriate values.\n\nParameters passed in the **URL** must be properly URL-encoded, using UTF-8 encoding for non-ASCII characters. Also, the plus character (*+*) is interpreted as a space (so it’s an alternative to *%20*).  Unless otherwise stated, arrays passed in the URL can be specified either:\n\n-\tas a comma-separated string; example: *attributesToRetrieve=title,description*; or\n-\tas a JSON array (which must be properly URL-encoded, of course);\n  \n> __example__: *attributesToRetrieve=%5B%22title%22,%22description%22%5D*.\n\nArrays passed in the **body** should always be regular JSON arrays.\n\n# What You Need \n\nIn order to make requests, you must have an account and update your password.\n**THEN**,\n\n1. Create an organization\n2. Create a client application\n3. Retrieve your authentication tokens : [Authentication](#topic-authentication)\n4. Subscribe to an offer\n5. Retrieve your API Key : [Authentication](#topic-authentication) \n\n# Make your first request\n\nFor the first examples, you can use your terminal, with curl, sending the request.\n\nIt returns a JSON response like this:\n```json\n{\n    \"code\": \"CCGM\",\n    \"name\": \"CMA CGM\",\n    \"type\": \"FB\",\n    \"location\": \"FR\",\n    \"organization\": \"CMA CGM\"\n}\n```"
    },
    {
      "title": "Authentication",
      "content": "Soget API use double authentication to identify the application and the customer.\nThe first authentication is performed by the OAuth2 token to identify application and the second authentication is performed by the API key to identify the customer.\n\n# OAuth2 token\n\nTo authenticate your application, you need register for the API Portal and create an application.  \n\n- Get and use client_id and client_secret to get the $ACCESS_TOKEN\n- Use the $ACCESS_TOKEN to call our API services\n\nNote that the access token url is : https://soget-api-integration.azure-api.net/soget-connect/v1/openid-connect/token.\n\n# API Key\n\nTo authenticate the customer, you need register for the API Portal and subscribe to an offer.\n\n- Get and use the $API_KEY to call our API services\n\nNote, that you should use the $API_KEY in the `Ocp-Apim-Subscription-Key` header of your request.",
      "example": "## Request an access token\n\n```\ncurl -X POST https://soget-api-integration.azure-api.net/soget-connect/v1/openid-connect/token --data-urlencode \"client_id=$YOUR_CLIENT_ID\" --data-urlencode \"client_secret=$YOUR_CLIENT_SECRET\"\n```\n\n## Request an API\n````\ncurl \\\n  -X GET https://soget-api-integration.azure-api.net \\\n  -H \"Authorization: Bearer $ACCESS_TOKEN\"\n  -H \"Ocp-Apim-Subscription-Key: $API_KEY\"\n```"
    }
  ],
  "security": [
    {
      "bearer_token": [],
      "api_key": []
    }
  ],
  "servers": [
    {
      "url": "https://soget-api-integration.azure-api.net/api-tracing-code/v1"
    }
  ]
}