Enabling Authentication on REST API

How is authentication (basic, certificate) enabled on an APIMGMT REST API?
In the portal there is client sample code for various languages including C# that includes code to add authentication headers. However, this code is commented out.
Basic Authorization Sample
client.DefaultRequestHeaders.Authorization
 =
new AuthenticationHeaderValue("basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("{username}:{password}")));
How is basic authentication enabled so that this code can be uncommented?
Frank

hi Frank,
Base on my experience, you need enable the basic authentication in this page:
Then you can uncomment this code and input the username and pwasword. Please try it.
Any concerns, please let me know.
Regards,
Will
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.

Similar Messages

  • Enabling Profiling for deployments via the REST API

    We have an application which is being deployed via the REST API. Our logging has captured some errors related to memory consumption that we'd like to examine using profiling. All the examples of profiling in Azure that I can find discuss deployment via Visual
    Studio which is not feasible in this instance.
    Is there a way to enable profiling via the REST API and if so are there any examples or documentation for this? We're using Linq2Azure to access the APIs but we can extend it if necessary.
    Thanks
    Colin

    Hi,
    Yes, we can choose enable profiling when we publish an application via visual studio, from my experience, this feature was provided by using the Visual Studio profiler, if we didn’t use visual studio to deploy the application, it is hard to enable profiling.
    Refer to
    http://msdn.microsoft.com/en-us/library/windowsazure/hh369930.aspx#BK_ProfilingCloudService for more information.
    Best Regards

  • Authentication for Stream Analytics REST Api

    Hi there,
    I am trying to use the stream analytics rest api from a java client. For other services (storage services for example), I am able to successfully use mutual certificate authorization. I create a management certificate using keytool and upload it through
    the settings tab in azure portal. I then create an SSLContext from this certificate. This all works and I am able to get access to the storage services api.
    The same flow does not seem to work for stream analytics api. When attempting to make an api call, I get 401 error code with the following response authorization header.
    GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs?api-version=2014-10-01-preview
    WWW-Authenticate=[Bearer authorization_uri="https://login.windows.net/{...}", error="invalid_token", error_description="The access token is missing or invalid."]
    The result is the same whether or not I configure the certificate on the client side. So, it seems like the mutual certificate authorization is not supported in stream analytics as it is in the other management APIs. Can you confirm if this feature is not
    supported? If it is not supported, can you please provide some information on how we should be authenticating for stream analytics REST api?
    Thanks

    I did some more investigating. The Azure Stream Analytics REST Api documentation uses
    https://management.azure.com/
    as the base uri for managing stream analytics service. The .NET azure sdk source code on github, however, uses
    https://management.core.windows.net/  
    for the same. So, I have tried accessing some different variations of resources.
    https://management.core.windows.net/{my subscription id}/services/storageservices
    Response: 200 OK
    Here, I am using mutual certificate authorization to successfully reach storage services at management.core.windows.net. This verifies that the certificate authorization flow works for other services in the same subscription. 
    https://management.azure.com/subscriptions/{my subscription id}/resourcegroups/StreamAnalytics-Default-Central-US/providers/Microsoft.StreamAnalytics/streamingjobs?api-version=2014-10-01-preview
    Response: 401 Unauthorized
    Message: {"error":{"code":"AuthenticationFailed","message":"Authentication failed. The 'Authorization' header is not present or provided in an invalid format."}}
    Now I attempt to use the same mutual certificate authorization on the management.azure.com base uri for stream analytics management. The request fails and the error message notes that an expected Authorization header is missing. This leads me to
    believe that mutual certificate authorization is not supported on management.azure.com.
    The Authorization header makes sense for OAuth2 flow, so I am thinking that management.azure.com
    might only support OAuth2. I need server to server management, so OAuth2 flow will not work because it requires interactive browser redirect to work with management api. Active
    Directory only gives delegate permissions to management services, not application permissions. I believe this rules out using OAuth2 / Active Directory for headless
    authorization - please correct me if I am wrong.
    https://management.core.windows.net/subscriptions/{my subscription id}/resourcegroups/StreamAnalytics-Default-Central-US/providers/Microsoft.StreamAnalytics/streamingjobs?api-version=2014-10-01-preview
    Response: 403 Forbidden
    Message: <Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Code>ForbiddenError</Code><Message>The server failed to authenticate
    the request. Verify that the certificate is valid and is associated with this subscription.</Message></Error>
    Here I try to use the mangagement.core.windows.net base uri that is used in .net sdk. I get a 403 forbidden response. The error message indicates that the server attempted to complete the mutual certificate authorization. The server complains, though,
    that the certificate is invalid. This is the same certificate used successfully to manage storage services, so I know the certificate is valid and the client flow works.
    It would be great if someone could expand on the discrepancy between the base uri in the documentation vs .net sdk and provide some guidance on server to server authorization to stream analytics management api.
    Thanks,
    Dave

  • Accessing sharepoint REST api using S2S authentication

    Hi, I'm trying to access the SharePoint REST APIs (One-Drive for business) using the access token retrieved from S2S authentication flow (https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx).
    Currently, I'm getting the following exception:
    he server was unable to process the request due to an internal error.  For more information about
    the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the
    Microsoft .NET Framework SDK documentation and inspect the server trace log
    Is this scenario (app auth instead of delegate auth) support for those set of APIs?
    Thanks

    Hi,
    According to your description, my understanding is that you want to access SharePoint Online One-Drive for business API using OAuth 2.0 authentication.
    In summary, Rest API can work with OAuth 2.0 authentication.
    Here are some detailed articles about access Rest API with OAuth 2.0 authentication:
    OAuth 2.0 Compliant REST API
    Securing RESTful Web Services with OAuth2
    About accessing One-Drive for business with Rest API, you can refer the article below:
    Access OneDrive for Business using the SharePoint 2013 APIs
    About the error message, I suggest you can use Fiddler to track the web request to find detailed message:
    Fiddler
    Thanks
    Best Regards,
    Jerry Guo
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • REST API - is authentication mandatory?

    Regarding Sites REST API - is authentication mandatory? There are just a few items to get, and we're only giving a user permission to those. We see no reason to go through the trouble with the ticketing mechanism, not to mention the roundtrips.
    Can authentication be disabled when using REST?

    This can be done via the Bulk API 1.0 Eloqua Bulk API 1.0: Importing and Exporting Data.

  • Oracle Webcenter REST API Authentication

    Hi All,
    I am getting authentication error while consuming the Webcenter REST API url http://webcenter.us.oracle.com/rest/api/resourceIndex.In Jdeveloper (URL Datacontrol)
    So please help me where to Provide the authentication details.
    Thanks.

    Hi.
    You need to add Authentication to your REST requests. Using Oracle WebCenter Portal REST APIs - 11g Release 1 (11.1.1.6.3)
    From my experience, I always used REST API from a REST Java Wrapper done by a mate: Oracle Webcenter Portal &amp;amp; Content Tips: Using WebCenter REST API from Java
    - Samples snippet of authentication:
    When executing code inside of the domain use OIT:
    b64EncodedToken = WCSecurityUtility.issueTrustServiceSecurityToken();
    String auth = "OIT " + b64EncodedToken;
    connection.setRequestProperty(AUTH_PROPERTY, auth);
    When executing code for testing in your JUnit or outside, use directly BASIC authentication:
    String userpass = "weblogic:weblogic1";
    BASE64Encoder encoder = new BASE64Encoder();
    b64EncodedToken = encoder.encode(userpass.getBytes());
    String auth = "Basic " + b64EncodedToken;
    Create a DataControl manually create an instance of the connection depending of the environment.
    Take a look in the official documentation and in the blog entry links.
    Regards.

  • HTTP 403 while using SharePoint Online REST API anonymously

    Hey Team,
    While using REST API to get list items (SharePoint Online) anonymously, I am getting HTTP 403 error:
    Request: http://server/site/_api/web/lists('guid')/items?$select=Title,Products/Name&$expand=Products/Name
    Response: HTTP 403 : System.UnauthorizedAccessException : Access denied. You do not have permission to perform this action or access this resource.
    Authenticated users do not face this issue. The list has anonymous access (View) enabled. Anonymous users can access the lists without facing any issue.
    I am not sure and could not able to find any link that says anonymous users can't use REST API to get SPListItems. Any input in this regard will be highly appreciated.
    Regards,
    Sanjay
    Either you love IT or leave IT

    Hi,
    From this documentation from MSDN about
    Reading data with REST, “Note that you cannot obtain an access token from code that is running on a browser client. You must obtain the access token from code that is running
    on a server”, it will only allow the authenticated users who has an access token to access the REST API.
    The two links below will provide more information about authentication in SharePoint 2013:
    http://msdn.microsoft.com/en-us/library/fp142382.aspx
    http://msdn.microsoft.com/en-us/library/jj687470.aspx
    Thanks
    Patrick Liang
    Forum Support
    Please remember to mark the replies as answers if they
    help and unmark them if they provide no help. If you have feedback for TechNet
    Subscriber Support, contact [email protected]
    Patrick Liang
    TechNet Community Support

  • Return data is null while calling Exchange Online rest api using jquery on Chrome and Mozilla

    Hi,
         I am developing a SharePoint hosted app in which I am calling Exchange online rest api using basic authentication to get mail for the user. This works fine in IE but returns null data when opening in Chrome or Mozilla.
    Is there something I am missing while making rest call to api?
    Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. Thanks, Ajeet

    Hi,
    This forum is to discuss problems of Office development such as VBA, VSTO, Apps for Office .etc. But I think your question is related to app for SharePoint. I suggest you posting it in
    App for SharePoint forum for more efficient responses.
    Thanks.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Unauthorized Issue in invoking REST API

    Hi,
    I am getting the following issue when i am calling the "GET" method of REST API:" https://secure.p03.eloqua.com/API/bulk/2.0/syncs/14"
    Unauthorized
    java.lang.RuntimeException: Failed : HTTP error code : 401
      at GetContactSync.main(GetContactSync.java:41)
    This is the code i have used to invoke the API:
    String proxyhost="www-proxy.us.oracle.com";
      int  proxyport=80;
      String inputparam="14";
        String urlstring="https://secure.p03.eloqua.com/API/bulk/2.0/syncs/14";
       String authString = "IBUDEMO\\aman.adarsh" + ":" + "Welcome@1";
      //String authString = "IBUDEMO1\\aman.adarsh" + ":" + "Welcome@1";
       String authToken = "Basic" + javax.xml.bind.DatatypeConverter.printBase64Binary(authString.getBytes());
       String output="";
       String line="";
      URL url = new URL(urlstring);
      //Properties systemProperties = System.getProperties();
      //systemProperties.setProperty("http.proxyHost",proxyhost);
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(new Proxy(Type.HTTP,new InetSocketAddress(proxyhost, proxyport)));
      conn.setInstanceFollowRedirects(false);
      conn.setDoOutput(true);
      conn.setRequestMethod("GET");
      conn.setRequestProperty("Accept", "application/json");
      //conn.setRequestProperty("Authorization", authToken);
      conn.setRequestProperty("Proxy-Authorization", "Basic " + authToken);
      System.out.println(conn.getResponseMessage());
      if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP error code : " +
                                           conn.getResponseCode());
    I want to know if i have missed any parameter
    The same authentication piece of code is working fine for "POST" methods of other API's
    Request your help on this

    Hi,
    I am getting the following issue when i am calling the "GET" method of REST API:" https://secure.p03.eloqua.com/API/bulk/2.0/syncs/14"
    Unauthorized
    java.lang.RuntimeException: Failed : HTTP error code : 401
      at GetContactSync.main(GetContactSync.java:41)
    This is the code i have used to invoke the API:
    String proxyhost="www-proxy.us.oracle.com";
      int  proxyport=80;
      String inputparam="14";
        String urlstring="https://secure.p03.eloqua.com/API/bulk/2.0/syncs/14";
       String authString = "IBUDEMO\\aman.adarsh" + ":" + "Welcome@1";
      //String authString = "IBUDEMO1\\aman.adarsh" + ":" + "Welcome@1";
       String authToken = "Basic" + javax.xml.bind.DatatypeConverter.printBase64Binary(authString.getBytes());
       String output="";
       String line="";
      URL url = new URL(urlstring);
      //Properties systemProperties = System.getProperties();
      //systemProperties.setProperty("http.proxyHost",proxyhost);
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(new Proxy(Type.HTTP,new InetSocketAddress(proxyhost, proxyport)));
      conn.setInstanceFollowRedirects(false);
      conn.setDoOutput(true);
      conn.setRequestMethod("GET");
      conn.setRequestProperty("Accept", "application/json");
      //conn.setRequestProperty("Authorization", authToken);
      conn.setRequestProperty("Proxy-Authorization", "Basic " + authToken);
      System.out.println(conn.getResponseMessage());
      if (conn.getResponseCode() != 200) {
                throw new RuntimeException("Failed : HTTP error code : " +
                                           conn.getResponseCode());
    I want to know if i have missed any parameter
    The same authentication piece of code is working fine for "POST" methods of other API's
    Request your help on this

  • Trying to Access SharePoint 2013 Rest Api in HTML page but getting Mime Type Exception with Status Success

    I am trying to invoke the SharePoint Rest Api using HTML page. I have included the Access Control Allow Origin to the web.config file. I am getting Readty State 4 and
    Status Success but still I am getting the below error.
    Refused to execute script from 'http://<server>/_api//web/lists?callback=jQuery172045857910416089_1430217181282&_=1430217363882' because its MIME
    type ('application/atom+xml') is not executable, and strict MIME type checking is enabled.
        <script>
            $(document).ready(function () {
                $("#KMPDiscussions").click(function () {
                    //$.support.cors = true;
                    $.ajax({
                        url: "http://<server>/_api//web/lists",
                        dataType: "jsonp",
                        type: "GET",
                        method: "GET",
                        contentType: "application/javascript",
                        headers: {
                            "content-type":
    "application/json;odata=verbose",
                            "accept": "application/json;odata=verbose",
                        success: function onSuccess(data) {
                            alert("Inside Alert");
                        error: function onError(data){
                            alert("Error: "
    + data);
        </script>
    It always hits the error on callback.
    Is there any other way that I can invoke SharePoint Rest Api from a Cross Domain. Please Help.

    Hi Chris,
    Thanks for the reply,Here iam using different files to be uploaded in library.
    please find the below snapshot of json response and ULS logs.
    12/22/2013 18:31:15.02 w3wp.exe (0x3338) 0x401C SharePoint Foundation Files 
    abq2i High Could not get DocumentContent row: 0x80004005. 79f7629c-4694-c026-
    3349-2049178ee919
    12/22/2013 18:31:15.02 w3wp.exe (0x3338) 0x401C SharePoint Foundation Files 
    aiv4w Medium Spent 0 ms to bind -1 byte file stream 79f7629c-4694-c026-3349-
    2049178ee919 
    12/22/2013 18:31:15.02 w3wp.exe (0x3338) 0x401C SharePoint Foundation Files 
    aise3 Medium Failure when fetching document. 0x80070012 79f7629c-4694-c026-
    3349-2049178ee919
    12/22/2013 18:31:15.39 w3wp.exe (0x3338) 0x0D4C SharePoint Foundation 
    Database ab1a9 High Failed to get document content data.
    System.ComponentModel.Win32Exception (0x80004005): Cannot complete this function     at
    Microsoft.SharePoint.SPSqlClient.GetDocumentContentRow(Int32 rowOrd, Object
    ospFileStmMgr, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres) 
    79f7629c-76ab-c026-3349-2c9132b13e9a
    12/22/2013 18:31:15.39 w3wp.exe (0x3338) 0x4184 SharePoint Foundation 
    Database ab1a9 High Failed to get document content data.
    System.ComponentModel.Win32Exception (0x80004005): Cannot complete this function     at
    Microsoft.SharePoint.SPSqlClient.GetDocumentContentRow(Int32 rowOrd, Object
    ospFileStmMgr, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres) 
    79f7629c-76ab-c026-3349-281167b6cd09
    Thanks again,
    Naresh.

  • How to use search REST api to get custom managed property data for anonymous user?

     
    I am trying build a public portal with anonymous access and i am trying to read some
    content from custom managed property using search REST api in sharepoint 2013. I have tried to enable all possible attributes of the managed prop. Like searchable,queryable,safe etc. also i am including queryparametertemplate in my REST api search query. But
    still i am not able to retrieve the managed prop. For an anonymous user. The same query returns the value if i am logged in.
    Any Help is greatly appreciated. 
    Thanks,
    Rakesh
    Thanks, Rakesh

    Hi Rakesh,
    To enable anonymous Search REST queries, we need to create queryparametertemplate.xml and upload it to the correct library in SharePoint.
    From your description I can know that you have created the file, then I recommend to check the things below:
    Please use “QueryTemplatePropertiesUrl” instead of “queryparametertemplate” in the Search REST API query as following: &QueryTemplatePropertiesUrl='spfile://webroot/queryparametertemplate.xml'.
    Make sure that the Query Properties you need have been added to the QueryProperties element in the queryparametertemplate.xml file.
    Make sure that the query parameters you need have been added to the WhiteList element in the
    queryparametertemplate.xml file. For example, if you want to use Refiners in the REST API, then the Refiners should be added to the
    WhiteList element in the queryparametertemplate.xml file as following:
    <a:string>Refiners</a:string>.
    You can also debug setting properties in anonymous Search Rest queries following the link below:
    http://www.mavention.com/blog/debugging-setting-properties-anonymous-search-rest-queries
    More references about anonymous Search REST:
    http://blog.mastykarz.nl/configuring-sharepoint-2013-search-rest-api-anonymous-users/
    http://msdn.microsoft.com/en-us/library/office/jj163876%28v=office.15%29.aspx#bk_AnonymousREST
    Thanks,
    Victoria
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Victoria Xia
    TechNet Community Support

  • How to send a encrypted packet to the REST API Service using Fiddler or Post Man

    Hi,
    I am trying to send encrypted (AES) JSON packet to the REST API on the Azure cloud using tools like Fiddler.
    I am trying to use POST method and attaching the encrypted .aes file to the Fiddler tool.
    I am getting the 3 types of error messages.
    1) HTTP/1.1 502 Fiddler - DNS Lookup Failed
    2) HTTP/1.1 500 Internal Server Error
    3) HTTP/1.1 407 Proxy Authentication Required
    I have tried with my company network and tried with external internet connection also.
    Please help me.
    Thank you!
    Regards,
    Krishna

    Hi,
    you can create a simple rest api on the Azure cloud, and then try to use fiddler to do some test, so that we can exclude the environment issue.
    Regards

  • How to read azure storage data using JAVA with REST API

    Hi,
    We have a cloud service in our lab. We have enabled diagnostics
    in cloud services. So WADPerformanceCounterTable was created in storage account. Now , We want to read the WADPerformanceTable using
    JAVA with REST API. Is there any way to collect these details. please give me any
    sample code to connect azure storage using table service REST API.
    Thanks & Regards
    Rathidevi

    Hi,
    Please have a look at this article:
    https://convective.wordpress.com/2010/08/18/examples-of-the-windows-azure-storage-services-rest-api/, it demonstrate how to use table service Rest API, it also give us the code, hope this helps. Of course, the
    MSDN article could also help us coding.
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Azure Rest API PUT Block Blob Returns "The specified resource does not exist" CORS

    I am trying to upload a file to Azure Blob storage. For some reason when I try to put a new block blob on in the storage it tells me the resource does not exist. I am sure it is something silly I am missing.
    According to the documentation:
    The Put Blob operation creates a new block blob or page blob, or updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the
    existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List (REST API) operation.
    CORS is setup and that seems okay.
    When I do a preflight and get this:
    Request URL:https://<account>.blob.core.windows.net/test/image.png
    Request Method:OPTIONS
    Status Code:200 OK
    Request Headers
    OPTIONS /test/image.png HTTP/1.1
    Host: <account>.blob.core.windows.net
    Connection: keep-alive
    Cache-Control: no-cache
    Pragma: no-cache
    Access-Control-Request-Method: PUT
    Origin: http://www.<site>.com
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36
    Access-Control-Request-Headers: accept, content-type
    Accept: */*
    Referer: http://www.<site>.com/azure/
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: en-US,en;q=0.8
    Response Headers
    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
    x-ms-request-id: 0d372e95-1524-460a-ab9c-7973d42a7070
    Access-Control-Allow-Origin: http://www.<site>.com
    Access-Control-Allow-Methods: PUT
    Access-Control-Allow-Headers: accept, content-type
    Access-Control-Max-Age: 36000
    Access-Control-Allow-Credentials: true
    Date: Thu, 27 Feb 2014 22:43:52 GMT
    But when I make the PUT request these are the results.
    Request URL:https://<account>.blob.core.windows.net/test/image.png
    Request Method:PUT
    Status Code:404 The specified resource does not exist.
    Request Headers
    PUT /test/image.png HTTP/1.1
    Host: <account>.blob.core.windows.net
    Connection: keep-alive
    Content-Length: 22787
    Cache-Control: no-cache
    Pragma: no-cache
    x-ms-blob-content-dis; filename = "image.png"
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36
    Content-Type: image/png
    x-ms-blob-type: BlockBlob
    Accept: application/json, text/plain, */*
    x-ms-version: 2013-08-15
    Origin: http://www.<site>.com
    x-ms-date: Thu, 27 Feb 2014 23:19:19 GMT
    Referer: http://www.<site>.com/azure/
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: en-US,en;q=0.8
    Response Headers
    HTTP/1.1 404 The specified resource does not exist.
    Content-Length: 223
    Content-Type: application/xml
    Server: Blob Service Version 1.0 Microsoft-HTTPAPI/2.0
    x-ms-request-id: d5a60c8b-356a-44ff-93af-0ea720b5591f
    x-ms-version: 2013-08-15
    Access-Control-Expose-Headers: x-ms-request-id,Server
    Access-Control-Allow-Origin: http://www.<site>.com
    Access-Control-Allow-Credentials: true
    Date: Thu, 27 Feb 2014 23:22:42 GMT

    Your request must be authenticated to be able to upload a blob. Please see our
    Windows Azure Storage: Introducing CORS blog post for more information on using Shared Access Signatures with CORS.

  • Are there REST APIs to retrieve entity metadata for  eloqua objects?

    There is a list of all the objects which can be accessed by REST for CRUD in this link: REST API - Documentation for Core Objects under the Core Objects section.
    For each of the objects listed under the  Core Objects section are there is a field metadata under the Properties section.
    For example for Email object, REST API - Accessing Emails , under the Properties section, there corresponding entries for fields of Emails object under the
    Name ,Type, Description and Validations headings.
    Is there a REST API for retrieving the same information i.e. the field metadata for an eloqua object programmatically ?
    If not , it is a serious hindrance to building systems that are metadata driven and also since SOAP support is being deprecated...

    Metadata is 'top level' information on the object, and available whether you query the individual object (a single form, or email asset) or query for multiple objects of that type (list all forms, list all emails). Consider using a depth of minimal or partial for faster performance if the specific configuration of those objects is not important..
    Example:
    GET /assets/forms?depth=minimal&count=2
    Returns:
      "elements":
        "type":"Form",
        "currentStatus":"Draft",
        "id":"19",
        "createdAt":"1409623550",
        "createdBy":"8",
        "depth":"minimal",
        "folderId":"7",
        "name":"zzztestCS_3-9381543541_AutocompleteTest",
        "permissions":"fullControl",
        "updatedAt":"1409623623",
        "updatedBy":"8"
        "type":"Form",
        "currentStatus":"Draft",
        "id":"22",
        "createdAt":"1409781207",
        "createdBy":"11",
        "depth":"minimal",
        "folderId":"466",
        "name":"daisychain1",
        "permissions":"fullControl",
        "updatedAt":"1412779449",
        "updatedBy":"20"
      "page":1,
      "pageSize":2,
      "total":130
    Without limiting the count to 2, this would return up to 1000 results if you had multiple forms in your system and give you a basic top level view of each. Similarly, you can use GET /assets/form/{id}?depth=minimal to get the same sort of information.
    Other endpoints can be found on the REST livedocs page here (requires authentication):
    https://secure.eloqua.com/api/docs/Dynamic/Rest/1.0/Reference.aspx
    Regards,
    Bojan

Maybe you are looking for