Fixed Income Admission - Listing of Structured Debt - API Service
The Listing of Structured Debt API service is designed to enable machine to machine listings without the need to enter the MyEuronext platform by a physical user account.
The API credentials (client ID, client secret and client secret expiry date) can be generated through MyEuronext Company Settings (In the first version of this service, the credentials will be generated by Euronext and communicated to the client via email).
Listing of Structured Debt API access method authenticates users through the use of the API client ID and client secret. The client will request an access token through an Authentication API, by providing their client ID and secret.
On receiving the API access token, clients can utilize APIs to create and manage their listing projects and instrument information.
Prerequisites - Terms & Conditions
Customers wishing to utilize the MyEuronext Listing of Structured Debt API Service, must have agreed the MyEuronext website Terms and Conditions (T&Cs). Customer must declare two Company User Administrators, who will be configured by Euronext in the MyEuronext Company Settings application.
When T&Cs are signed, and Company User Administrator accounts are created, technical accounts can be set through MyEuronext Company Settings by the Company User administrators of the Legal Entity.
As a Company User Administrator, login to MyEuronext.
You will see the Company Settings application. Follow the contact creation steps mentioned in the Administrator guide and create a “Technical entity”.
As a user role, choose “Listing Automated API service”, then set the perimeter to:
- Asset class: Bonds
- Market: Paris
You will be able to access an API service that allows you to generate API credentials.
These credentials can only be generated once the user role is created and will give you access to a “client ID” and a “client secret”.
As soon as you click on “add user role”, you will be able to generate the credentials by clicking on “generate credentials”.
In the API connection section, click on “Generate credentials”.
A pop-up appears to enable you to generate these credentials:
The credentials are then created. They will be valid for 90 days. Please make sure to copy the client Secret straight away as it shows only once at the creation step.
In case of loss of the credentials, you can generate new ones by clicking on “Add new credentials”.
In case the credentials are corrupted, you will need to first generate new ones by clicking on “Add new credentials” and delete the existing credentials by clicking on the dustbin.
As soon as the credentials are generated, the API service can be used by the technical account.
For future updates of the role:
- Updates of the perimeter of the role (asset classes and Market locations) will always be subject to Euronext approval.
- Updates of API attributes can be done autonomously by the Company User administrator. The old attributes can be used until their expiry date, or until the new ones are used.
Using the Structured Debt Listing API
Prerequisite
Prior to creating a listing project, the Programmes must be communicated to Euronext to have their IDs checked.
API Endpoint
EUA: https://dap-api.euatnr.euronext.cloud/euatnr/structured-debt-admission
PROD: https://dap-api.prodnr.euronext.cloud/prodnr/structured-debt-admission
Authentication API
In order to get the Access Token, the POST /oauth2/token API must be invoked.
The following parameters are needed:
- Grant_type: must be the string “client_credentials”
- Client_id: The active Client ID generated in Company Settings
- Scope: The scope generated in Company Settings
Once the parameters are fill, you can call the API.
You can get two types of responses:
- Code 200 (Get Access Token) will return an access token with a type and an expiry date
- Code 400 (Bad request error) will return an error code
The returned Access Token will be used in the next two APIs.
"Create a Project" - API with action DRAFT or COMPLETE
The POST /admission-to-listing/public/v1/projects API lets you create a new project.
The parameters of this API are the following:
- Action:
- DRAFT: The project will be created and saved as a draft, not submitted
- COMPLETE: The project creation will be submitted and Instrument information can be instructed
- Request body: the body must contain the following attributes:
- Market
- Issuers
- TransactionType
- PublicInformationAccess
- UnderIssueProgram
- ListingDate
- Team
- Responses can be:
- Code 200 (Project Created):
- Code 400 (Validation errors)
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 500 (Application error)
Update a project already Crated as DRAFT
The PUT /admission-to-listing/public/v1/projects/{projectId} API lets you update your drafts.
The parameters of this API are the following:
- ProjectId: The ID generated in the first creation request
- Action:
- DRAFT: The project will be updated and saved again as a draft, not submitted
- COMPLETE: The project will be updated then submitted and Instrument information can be instructed
- Request body: the body must contain the following attributes:
- Market: This field should be completed with the MIC code (example: XPAR)
- Company IDs: Fill in this field with the issuer scope ID. Each project may have only one issuer
- TransactionType : In this project, only admission to listing transactions are accepted
- PublicInformationAccess : This field is optional, but you can provide a URL containing the project information
- UnderIssueProgram : This Boolean field is used to indicate whether the listing project is under an issuing program
- ListingDate : Desired listing date
- Team: Optional field to segregate the listing project visibility
- Version (update version)
Responses can be:
- Code 200 (Project Created)
- Code 400 (Validation errors)
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 404 (Project ID not found)
- Code 500 (Application error)
Retrieve Project Details
The GET /admission-to-listing/public/v1/projects/{projectId} API lets you retrieve your project details.
The parameters of this API are the following:
- ProjectId: The ID generated in the first creation request
Responses can be:
- Code 200 (Project Created)
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 404 (Project ID not found)
- Code 500 (Application error)
Retrieve Project Setup Taxonomies
The GET /admission-to-listing/public/v1/projects/taxonomies API lets you retrieve the taxonomies you need to create your project, with the keys and values to use.
Responses can be:
- Code 200 (Get project taxonomies)
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 500 (Application error)
"Instrument Information" API
Once your project is created, you can specify the instrument information.
Validate and Save Instrument Information Data
The POST /admission-to-listing/public/v1/projects/{projectId}/instrument-information API lets you validate and save instrument information data, and close the task (send to Euronext) if Action is Complete.
The parameters of this API are the following:
- ProjectId
- Action:
- DRAFT: The instrument information will be saved as a draft, not submitted
- COMPLETE: The instrument information will be submitted to Euronext
- Request body: the body must contain the following attributes:
- isin
- bondProductType
- seniority
- underlyingIsin
- cfiCode
- isinOriginalSecurity
- issueDate
- dateOfApproval
- interestAccrualStartDate
- nameOtherStockExchange
- listingTradingInUntFmt
- tradingMode
- nominalValue
- globalNominalValue
- multipleTradableAmount
- issuePrice
- redemptionPrice
- tradingCurrency
- maturityDate
- earlyRedemptionType
- redemptionType
- couponType
- interestRate
- indexingParameter
- dayCountFraction
- couponFrequency
- firstPaymentDate
- settlementPlatform
- placeOfSafekeeping
- securitiesPayingAgentName
- securitiesUnderProgram
- programNameId
- esgBondSector
- legalForm
- billingContactCompanyName
- billingContactFirstName
- billingContactLastName
- billingContactJobDetail
- billingContactDepartment
- billingContactPostalAddress
- billingContactVatCode
- billingContactEmail
- linkToDocumentation
- otherComments
Responses can be:
- Code 200 (Instrument information saved without error):
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 404 (Project ID not found)
- Code 410 (task does not exist)
- Code 422 (Validation errors)
- Code 500 (Application error)
Update and Instrument Information Data
The PUT /admission-to-listing/public/v1/projects/{projectId}/instrument-information API lets you update and save draft instrument information data, and close the task (send to Euronext) if Action is Complete.
Action is Complete.
The parameters of this API are the following:
- ProjectId
Action:
- DRAFT: The instrument information will be updated and saved as a draft again, not submitted
- COMPLETE: The instrument information will be updated then submitted to Euronext
Request body: the body must contain the following attributes:
- isin
- bondProductType
- seniority
- underlyingIsin
- cfiCode
- isinOriginalSecurity
- issueDate
- dateOfApproval
- interestAccrualStartDate
- nameOtherStockExchange
- listingTradingInUntFmt
- tradingMode
- nominalValue
- globalNominalValue
- multipleTradableAmount
- issuePrice
- redemptionPrice
- tradingCurrency
- maturityDate
- earlyRedemptionType
- redemptionType
- couponType
- interestRate
- indexingParameter
- dayCountFraction
- couponFrequency
- firstPaymentDate
- settlementPlatform
- placeOfSafekeeping
- securitiesPayingAgentName
- securitiesUnderProgram
- programNameId
- esgBondSector
- legalForm
- billingContactCompanyName
- billingContactFirstName
- billingContactLastName
- billingContactJobDetail
- billingContactDepartment
- billingContactPostalAddress
- billingContactVatCode
- billingContactEmail
- linkToDocumentation
- otherComments
- version
Responses can be:
- Code 200 (Instrument information saved without error):
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this api)
- Code 404 (Project ID not found)
- Code 410 (task does not exist)
- Code 422 (Validation errors)
- Code 500 (Application error)
Retrieve Instrument Information Data
The GET /admission-to-listing/public/v1/projects/{projectId}/instrument-information API lets you retrieve your instrument information data.
The parameters of this API are the following:
- ProjectId: The ID generated in the first creation request
Responses can be:
- Code 200 (Instrument information updated without errors - errors field is an empty array)
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 404 (Project ID not found)
- Code 500 (Application error)
Retrieve Instrument Information Taxonomies
[
The GET /admission-to-listing/public/v1/projects/instrument-information/taxonomies API lets you retrieve the taxonomies you need for your instrument information, with the keys and values to use.
Responses can be:
- Code 200 (Get instrument info taxonomies)
- Code 401 (Access Token missing or invalid)
- Code 403 (User cannot execute this API)
- Code 500 (Application error)