{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"8c75d2d9-cd3e-4251-8c02-6133791ed2a0","name":"EAComposer Documentation","description":"Welcome to the EAComposer documentation section.\n\nCurrently in this section you can learn about Single Sign On (SSO) using SAML2 and data integrations using our REST API's.\n\n# SSO - Overview\n\nEAComposer includes support for Single Sign On (SSO), a process that allows users to authenticate themselves against an external Identity Provider (IdP) rather than obtaining and using a separate username and password handled by EAComposer.\n\nUnder the SSO setup, EAComposer can work as a Service Provider (SP) through SAML (Secure Assertion Markup Language) allowing you to provide Single Sign On (SSO) services for your domain.\n\nThe SSO SAML Integration is available in Corporate and Enterprise subscription plans.\n\nIf at any time during the configuration you have questions or if after completion you are not able to make the SSO integration work please contact us via email [support@eacomposer.com](https://mailto:support@eacomposer.com) Please be prepared to share the details of your SSO configuration.  \n• _Enabling SSO inside EAComposer – completing the basic setup required inside EAComposer to enable SSO_\n\n• _Setup Email Domains – New User trying to performa SSO login with this email will be redirected to your Identity Provider. (optional)_\n\n• _Using Directory Groups to manage userprivileges – using your own Directory Groups to manage access privileges inside EAComposer. (optional)_\n\n• _Identity Provider (IdP) configuration – in order tomake it all work some EAComposer information is required to be configured with your Identity Provider._\n\n# SSO - Enabling inside EAComposer\n\nLogin to your EAComposer account as an Administrator and go to **Settings** which is accessible from the menu in the top right-handside menu\n\nIf your subscription plan supports SSO Integrations (currently supported in Corporate and Enterprise plans) you can configure it here:\n\n<img src=\"https://www.eacomposer.com/content/images/postman-1.png\" alt=\"Single Sign On Image\">\n\nPlease complete the following settings to enable single sign on for your users. This information is typically provided by your security team.\n\n<ul><li><div><b>SSO Identity Provider URI</b>: type the Identity Provider's (IdP) URI which is usually the URL</div></li><li><div><b>SSO Identity Provider Sign On URL</b>: Fill-in the remote sign-in URL of your IdP.This is the URL where EAComposer will redirect your users for signing-in</div></li><li><div><b>SSO Identity Provider Log Out URL</b>: fill-in the remote sign-out URL of your IdP.This is the URL that EAComposer will redirect your users when they sign-out.</div></li><li><div><b>SSO X509 Certificate</b>: fill-in the X509 SAML certificate fingerprint provided by your IdP.</div></li></ul>\n\nWhen ready click **Save SSO** to commit the changes to the central repository. That’s it, you are now ready to start using the single sign on from the login page.\n\n# SSO - Setup Email Domain\n\nCombined with SSO above you also have the option to configure an Email Domain. What this does is that any new users with an email from that domain and selecting “single sign on” from the login page will redirected to your **SSO Identity Provider Single Sign On URL** (See section above).\n\nFor example: if I am a new user and my email is [john.doe@mycompany.com](https://mailto:john.doe@mycompany.com) and I choose to login to EAComposer with single sign on and there is a repository account associated with that **Email Domain** (mycompany.com) that user will be redirected to the **SSO Identity Provider Sign On URL** for login.\n\nPlease note that if the new user account has no permissions defined inside EAComposer and the account is not using **Directory Groups** that user will still not be able to access EAComposer.\n\n# SSO - Using Directory Groups to manage user privileges\n\nThere are two ways to manage user privileges. First, you can simply map users to EAComposer roles. Just enter their email and assign the desire role. This is the standard way of mapping users to roles.\n\nWhen using SSO there is a second way for you to manage user roles. This is by using your own Directory groups (e.g. AD Groups, LDAP groups) and map these to EAComposer roles.\n\nAs an example, we will assume you are using Microsoft Active Directory. You would create 3 AD groups and assign the users to the appropriate groups e.g.:\n\n<ul><li><div>EAComposer Administrators</div></li><li><div>EAComposer Authors</div></li><li><div>EAComposer Viewers</div></li></ul>\n\nNote: The above is for illustrative purposes. In most cases the SAML will return the Group ID which might look like this “de3d64cf-c22b-49cb-8841-31b8e8d3e2fa” this is the value you will have to place here in order for the mapping to work\n\n<ul><li><div><b>Role: Administrator</b>: Fill-in the related directory group-id you have created in your Directory technology</div></li><li><div><b>Role: Author</b>: Fill-in the related directory group-id you have created in your Directory technology</div></li><li><div><b>Role: Viewer</b>: Fill-in the related directory group-id you have created in your Directory technology</div></li></ul>\n\nThe last step to use your Directory Groups within EAComposer, which is critical so DON’T MISS THIS STEP:\n\n> _**NOTE:**_ You must configure your Identity Provider so that after a successful login request the directory group this user belongs to is returned as a SAML Claim Assertion labeled “role” back to EAComposer. \n  \n\n# SSO - Identity Provider (IdP) Configuration\n\nWithin the context of Single Sign On EAComposer plays the role of Service Provider (SP) and some Service Provider provided information will need to be setup on your Identity Provider. This information is sometimes referred to as SP Metadata. EAComposer uses a global distributed infrastructure and depending on where you are physically located you are automatically connected to the closest hub.\n\nSome identity providers (IdP) will require to add each of our hubs as a Service Provider (SP).\n\nWe recommend first to make the SSO work with just the entry for our global provider:\n\n**Global:**\n\n<ul><li><div>Service Provider Name (EntityId): https://www.eacomposer.com/saml/metadata.xml</div></li><li><div>Assertion Consumer Service: https://www.eacomposer.com/saml/ssoservice.aspx</div></li><li><div>Single Logout Service: https://www.eacomposer.com/saml/sloservice.aspx</div></li></ul>\n\n**Amsterdam hub:**\n\n<ul><li><div>Service Provider Name (EntityId):<br>https://ams.eacomposer.com/saml/metadata-ams.xml</div></li><li><div>Assertion Consumer Service:<br>https://ams.eacomposer.com/saml/ssoservice.aspx</div></li><li><div>Single Logout Service:<br>https://ams.eacomposer.com/saml/sloservice.aspx</div></li></ul>\n\n**Washington DC hub:**\n\n<ul><li><div>Service Provider Name (EntityId):<br>https://was.eacomposer.com/saml/metadata-was.xml</div></li><li><div>Assertion Consumer Service:<br>https://was.eacomposer.com/saml/ssoservice.aspx</div></li><li><div>Single Logout Service:<br>https://was.eacomposer.com/saml/sloservice.aspx</div></li></ul>\n\n**Singapore hub:**\n\n<ul><li><div>Service Provider Name (EntityId):<br>https://sin.eacomposer.com/saml/metadata-sin.xml</div></li><li><div>Assertion Consumer Service:<br>https://sin.eacomposer.com/saml/ssoservice.aspx</div></li><li><div>Single Logout Service:<br>https://sin.eacomposer.com/saml/sloservice.aspx</div></li></ul>\n\nAll three hubs use the same public X509 Certificate:\n\n**X509 Certificate (public key):**\n\n\\-----BEGIN CERTIFICATE----- MIIG2jCCBcKgAwIBAgIRAOJbSFPbbUIhfaKehTCvT4kwDQYJKoZIhvcNAQELBQAw gZAxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTYwNAYD VQQDEy1DT01PRE8gUlNBIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2ZXIg Q0EwHhcNMTgwNTAzMDAwMDAwWhcNMjAwNjI3MjM1OTU5WjBeMSEwHwYDVQQLExhE b21haW4gQ29udHJvbCBWYWxpZGF0ZWQxHjAcBgNVBAsTFUVzc2VudGlhbFNTTCBX aWxkY2FyZDEZMBcGA1UEAwwQKi5lYWNvbXBvc2VyLmNvbTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALQkVOsp4JDUVLBo6np8MDN2Z5QnyhJa94198eZQ Zhjz9saKbjcY71nS/HlFvCIE6PF0grW0N0Xu3+2BwIS6uNeEk7Exy/sth6vUpazN JGvNCtZGQHixDTY2bPQAPWdp0Wr6L+OQ1JBaf0vDP8xgELLjsNnw0uN/rrsQdVI+ BlfvjNPNRFKMqEIyzjRgT7bdEutNHEk/EgCd50PEuNNhH0rGG2SBx2pT07gbn0bL 1spM9g4Y8iq5EQXQ1urLDMrkwvJ9IXJOFGkefb+BbHQdskMCvf/fFDrV+peDqYHP GVlPozKouxSQl7DlJMCjKLTnmcfuUL+6jSQbbcwiBf/bntcCAwEAAaOCA14wggNa MB8GA1UdIwQYMBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBTCAMxD 8ZK9jvAjL1or7SMfBsujVjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAd BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEE AbIxAQICBzArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29t L0NQUzAIBgZngQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5jb21v ZG9jYS5jb20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNB LmNybDCBhQYIKwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNv bW9kb2NhLmNvbS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVy Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wKwYD VR0RBCQwIoIQKi5lYWNvbXBvc2VyLmNvbYIOZWFjb21wb3Nlci5jb20wggF9Bgor BgEEAdZ5AgQCBIIBbQSCAWkBZwB1AO5Lvbd1zmC64UJpH6vhnmajD35fsHLYgwDE e4l6qP3LAAABYyQHY30AAAQDAEYwRAIgPfFgSOfvetN7hFdUtS24E82hq5B4aAzX hb/+4U8q9SECIDZk2cvUpidFXydODkJy6T8ReLB5KkaM5w9GdgMl10yrAHcAXqdz +d9WwOe1Nkh90EngMnqRmgyEoRIShBh1loFxRVgAAAFjJAdlSQAABAMASDBGAiEA gffJUb3f888o+GzDLAIkR1sP2CvJxZRQL4/NiWANuC0CIQCJFZTfmrb+UMCxdC0L 7a9a0441pzkOsneKlEheoOKfOAB1AFWB1MIWkDYBSuoLm1c8U/DA5Dh4cCUIFy+j qh0HE9MMAAABYyQHY58AAAQDAEYwRAIgYwVtvX5S743cBF4ova5mcgMJUAFOPa8q bYXfskIhaH4CIAP5KeLTsrBxmMA3xFJ+n8elXwAeiy1Xa6ItSM8CiX4bMA0GCSqG SIb3DQEBCwUAA4IBAQAWep6YJEEpVeZHVVwTH69Yu/k5+4On1paeWjhVbzschQEh lyp1FJ8leTUwKsgNYJXKpAWABZ0S7ragumsFkULtDR0IId/skWLiN0qUxXUHDi2r j7IvL5N5gfgV3+bnWewXjSI9icP7++1Ch2EkxCRcxqb+YxgJVRYQtOZg3KmWeiWS XPyNyl0f10R8ZdM8SF8DMYctmwnCPtXqXDLanBhldNGPeXLBD1udpEcgIaADxo7r 78n6F+v7PDewcvrCwj+uT/h2GRkZ9UqAWkwl2xOlNiIjcrJPM6ek2H8N0mOg6FQL 5KvJWk6jhzHrsHwg8Ev1enbt6AdkuPiW+JbarM7Y  \n\\-----END CERTIFICATE-----\n\nMost Identity Providers are able to also load each hub’s metadata in the form of an XML which eliminates the risk of typos and other manual data entry mistakes. We have prepared the metadata for our Service Provider configuration in an metamodel.xml file which can be downloaded here:\n\n[https://www.eacomposer.com/saml/metadata.xml ](https://www.eacomposer.com/saml/metadata.xml) ;  \n[https://www.eacomposer.com/saml/metadata-ams.xml ](https://www.eacomposer.com/saml/metadata-ams.xml) ;  \n[https://www.eacomposer.com/saml/metadata-was.xml ](https://www.eacomposer.com/saml/metadata-was.xml) ;  \n[https://www.eacomposer.com/saml/metadata-mel.xml ](https://www.eacomposer.com/saml/metadata-mel.xml) ;\n\nIf you need any assistance, please feel free to contact [support@eacomposer.com](https://mailto:support@eacomposer.com)\n\n# REST API - Overview\n\n<p>EAComposer includes a series of REST API’s that enables you to programmatically integrate with the EAComposer architecture portfolio.<br><br><br>The REST API’s enable you to perform standard CRUD (Create, Read, Update or Delete) operations on Components and Relationships within the repository.<br><br><br>Our REST API’s are using industry standards: OAuth2 for authentication, HTTPS to ensure a secure connection, JSON as the data format and common HTTP Post’s and Get’s as the protocol.<br><br><br>If at any time during the configuration you have questions or if you are not able to make the API integration work please contact us via support@eacomposer.com Please be prepared to share the details of your API configuration.<br></p>\n\n• **API Settings inside EAComposer** – completing the basic setup of Consumer Keys and Secrets inside EAComposer.\n\n• **REST URL’s and Authentication** – What are the core URL’s providing the REST services and how to perform the initial authentication.\n\n• **Component REST API** – All the details for interacting with the Component REST API, URL options, message formats, response codes and samples.\n\n• **Relationship REST API** – All the details for interacting with the Relationship REST API, URL options, message formats, response codes and samples.\n\n• **Response Codes** – A list of the various responses codes that can be expected across the different REST APIs\n\n• **Things to watch for** – What are the things to watch for that will create Error Responses or HTTP BadRequest results.\n\n# REST API - Setting inside EAComposer\n\nLogin to your EAComposer account as an Administrator and go to **Settings**. From within Settings and scroll to the **API Integration** section.\n\n<img src=\"https://www.eacomposer.com/content/images/postman-2.png\" alt=\"Settings\">\n\nPlease complete the following settings to enable API integration for your repository. This information is typically used by developers who are creating the integration between EAComposer and another system such as a CMDB.\n\nThe API integration settings are standard OAuth2 required values and you might recognize them from other REST API services. [https://oauth.net/2/](https://oauth.net/2/)\n\n<ul><li><div><b>Consumer Key</b>: This is a unique key that identifies &amp; links the API account to your<br>repository. If you suspect your key has been compromised, you can generate a new key by clicking the link next to it.</div></li><li><div><b>Consumer Secret (Full Access)</b>: This is a password that combined with the Consumer Key above is used for the oAuth2 authentication process. The Full Access mode is required if you are using the API's to make changes to your data. This includes creating new information, updating existing information or deleting information.</div></li><li><div><b>Consumer Secret (Read Only Access) </b>: This is a password that combined with the Consumer Key above is used for the oAuth2 authentication process. The Read Only secret is most often used when you use your own reporting tools against the EAComposer repository.<br></div></li></ul>\n\nIf you suspect any of key or secrets have been compromised, you can generate a key key or new secrets by clicking the link next to it, all from within the **Settings - API Integration** section.\n\nThe Consumer Key and Consumer Secret are used as the Username and Password inside the oAuth calls. It is used to authenticate and create an access token required before any REST API calls can be performed. In the following section we will demonstrate how to perform the OAuth authentication and obtain the access token.\n\n# REST API - URL’s and Authentication\n\nThe base URL address for all API interactions is: [<b>https://repository.eacomposer.com</b>](https://repository.eacomposer.com)\n\nBelow is an overview of current available URL’s:\n\n<ul><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/token\" target=\"_blank\" url=\"https://repository.eacomposer.com/token\">https://repository.eacomposer.com/token</a>Use this URL to perform the OAuth2 authentication and obtain the access token. Below is sample on how to perform this step.</div></li></ul>\n\nFor Creating, Reading, Updating or Deleting (CRUD) components from the repository please use the following 3 base URL’s. More details on how to interact with the Component REST services can be found in the associated section. Updating and Creating is using the same REST service, often referred to as Upsert logic. You will also need to use the Full Access secret for any of the Create/Update or Delete actions.\n\n<ul><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/api/component/read\" target=\"_blank\" url=\"https://repository.eacomposer.com/api/component/read\">https://repository.eacomposer.com/api/component/read</a></div></li><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/api/component/create\" target=\"_blank\" url=\"https://repository.eacomposer.com/api/component/create\">https://repository.eacomposer.com/api/component/create</a></div></li><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/api/component/delete\" target=\"_blank\" url=\"https://repository.eacomposer.com/api/component/delete\">https://repository.eacomposer.com/api/component/delete</a><a rel=\"noreferrer noopener nofollow\" href=\"https://null\" target=\"_blank\" url=\"https://null\"></a></div></li></ul>\n\nFor Creating, Reading, ~~Updating~~ or Deleting (CRUD) relationships from the repository please use the following 3 base URL’s. More details on how to interact with the Relationship REST services can be found in the associated section. Updating a relationship is not possible. You have to Delete the relationship and Create a new relationship.\n\n<ul><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/api/relationship/read\" target=\"_blank\" url=\"https://repository.eacomposer.com/api/relationship/read\">https://repository.eacomposer.com/api/relationship/read</a></div></li><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/api/relationship/create\" target=\"_blank\" url=\"https://repository.eacomposer.com/api/relationship/create\">https://repository.eacomposer.com/api/relationship/create</a></div></li><li><div><a rel=\"noreferrer noopener nofollow\" href=\"https://repository.eacomposer.com/api/relationship/delete\" target=\"_blank\" url=\"https://repository.eacomposer.com/api/relationship/delete\">https://repository.eacomposer.com/api/relationship/delete</a></div></li></ul>\n\nAs stated earlier, starting point in any REST API interaction is performing the OAuth2 authentication and the following HTTP request information that is required. There are no constraints on what tool, technology or language you want to use for that interaction as long as standard HTTP protocols, requests, headers and responses are supported.\n\nIn order to obtan an authorization and the associated access token you need to perform a Basic Authentication HTTP Get request to our Token URL ([https://repository.eacomposer.com/token](https://repository.eacomposer.com/token)). Included in the HTTP Request must be your _Consumer Key_ and _Consumer Secret_ and a _Grant Type_ set to _Password_.\n\nIf you are having problems with making the OAuth2 authentication work please contact our support team at [support@eacomposer.com](https://mailto:support@eacomposer.com) with the code details on how you are trying to obtain authorization. There are also good online resources around OAuth2 for the specific code libraries you might be using. EAComposer uses a standard OAuth2 implementation with JSON as the data transfer format.\n\n# REST API - Response Codes\n\nWhen performing a REST API call you can expect the following response codes. These represented using a JSON string:\n\n```\nResponse: {\n    Status: <string>,\n    Code: <string>,\n    Message: <string>\n}\n\n ```\n\n| Status | Code | Message |  |\n| --- | --- | --- | --- |\n| Success | 200 | < result of how many components or relationships were created or deleted > | If you are using READ Components or READ Relationships, the success Response is omitted, and the request returns the list of components or relationships. |\n| Error | 401 | Invalid Client Identifier | The access token was either invalid or couldn’t be linked to a EAComposer Repository account. |\n| Error | 402 | Invalid JSON format | There was an error reading the JSON embedded in the request body. |\n| Error | 403 | Permission Denied | You are accessing API functions that can't be accessed using a Read-Only token. |\n| Error | 404 | Invalid ContentType | Content type for any REST API request must be set to “application/json”. |\n| Error | 500 | Internal Server Error | An unhandled error occurred while processing your Request. If this problem persists, please contact [support@eacomposer.com](https://mailto:support@eacomposer.com) |\n\n**Response codes specifically to the Component REST API**\n\n| Status | Code | Message |  |\n| --- | --- | --- | --- |\n| Error | 601 | Invalid Component | When reading the JSON to create or delete components we couldn’t find the component Name and/or Type in your submitted data. Both these elements are mandatory |\n| Error | 602 | Invalid Content Type | When reading the JSON to create components we couldn’t find the component Type in your submitted data. This element is mandatory. |\n\n**Response codes specifically to the Relationships REST API**\n\n| Status | Code | Message |  |\n| --- | --- | --- | --- |\n| Error | 701 | Invalid Relationship | When reading the JSON to create or delete relationships we couldn’t find the relationship Type in your submitted data. This element is mandatory |\n| Error | 702 | Invalid Relationship Type | When reading the JSON to create or delete relationships we couldn’t find the relationship Type in your submitted data. This element is mandatory |\n\n# REST API - Things to watch for\n\nBelow is a list of things to watch when interacting with our REST API’s:\n\n• When performing an Authorization request, to obtain an access token ensure the _grant_type_ is included and set to _Password_.\n\n• For any of the REST API calls the Content Type of the request must be set to _application/json_.\n\n• When performing any of the CREATE REST API calls the data has to be in the body of the request using JSON format. Please ensure JSON is valid by using online tools like\n\n<a href=\"jsonlint.com\">jsonlint.com</a>\n\n.\n\n• All request should use UTF-8 encoding and must use SSL for the transport – HTTPS is mandatory.\n\n• Each REST API request must include the access token to be send as part of the Authorization header using Bearer prefix: “Bearer “ + my_access_token.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"12784687","team":1278447,"collectionId":"8c75d2d9-cd3e-4251-8c02-6133791ed2a0","publishedId":"TVev44yn","public":true,"publicUrl":"https://docs.eacomposer.com","privateUrl":"https://go.postman.co/documentation/12784687-8c75d2d9-cd3e-4251-8c02-6133791ed2a0","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2025-09-30T16:23:21.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/48fc77c726e52765817a61cf4240e406d5073062b87270983f67721544d35d84","favicon":"https://res.cloudinary.com/postman/image/upload/v1605736994/team/hfwnvgufamphygsrjxhv.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.eacomposer.com/view/metadata/TVev44yn"}