client
Description
To view and work with a client, you must be connected to the API using an OAuth token with client_full_access scope.
Creating a Client resource is how you register your client application with our API as described in the OAuth 2.0 RFC. It is the first required step for working with the Foxy API. When you register your client, you'll receive an OAuth 2.0 access_token
and refresh_token
in the response with a client_full_access
scope. You'll use these tokens any time you want to view or modify your client registration. The response will also include your client_id
and client_secret
which you'll need for refreshing your access tokens.
After you connect to the API with your client token, you'll then be able to access your client_id and client_secret which your application will need to interact with the Foxy API's OAuth 2.0 system. The client_secret must be stored securely (preferably encrypted) and should never be stored publicly, such as in a public repo or publicly accessible database.
Once you create a client and connect with the client_full_access
scope, you can then create a user or connect to an existing user using the user_full_access
OAuth scope. Once connected to the API using an OAuth token with the user_full_access scope, you can create a store or connect to an existing store with the store_full_acesss
scope.
If you create custom attributes for a client, they will automatically be included in the response as embedded resources without having to zoom in on them.
Actions
- GET
- View a client
- PATCH
- Update a client (send only the properties you want to modify)
- PUT
- Replace a client (send the entire representation)
- DELETE
- Delete a client
- HEAD
- Get just the header response
- OPTIONS
- Get a response explaining which HTTP methods are supported
Properties
Property | Description | Type | Constraints |
---|---|---|---|
client_id | A unique identifier for this client. If you do not supply one, one will be automatically generated for you. If you're not hosting the client integration yourself, please use a known prefix when creating your clients. This can not be modified once it is created. | String | Unique. Can only be set on creation. Between 15 and 200 characters. |
client_secret | The password to be used with this client_id for OAuth 2.0 integration. This is generated automatically and can't be changed. | String | Required, random value set if blank |
redirect_uri | This is the redirection endpoint as described by OAuth 2.0 | URL | Required. 200 characters or less. |
project_name | The name of this project which will be using the API. This should be specific to the installation and implementation of this client. This information will be displayed on your OAuth 2.0 authentication page. | String | Required. 100 characters or less. |
project_description | A description of this project. This information will be displayed on your OAuth 2.0 authentication page. | String | 200 characters or less. |
company_name | The name of the company responsible for this project. This information will be displayed on your OAuth 2.0 authentication page. | String | Required. 100 characters or less. |
company_url | The name of the company responsible for this project. This information will be displayed on your OAuth 2.0 authentication page. | URL | 200 characters or less. |
company_logo | An image url for this company. This information will be displayed on your OAuth 2.0 authentication page. | URL | 200 characters or less. |
contact_name | The individual responsible for this integration. | String | Required. 100 characters or less. |
contact_email | The email address of the individual responsible for this integration. | String | Required. 100 characters or less. |
contact_phone | The phone number of the individual responsible for this integration. | String | Required. 100 characters or less. |
date_created | The date this resource was created. | Date | Read only |
date_modified | The date this resource was last modified. | Date | Read only |
Example Representation
{ "_links": { "curies": [ { "name": "fx", "href": "https://api.foxycart.com/rels/{rel}", "templated": true } ], "self": { "href": "https://api.foxycart.com/clients/42", "title": "Example Project" }, "fx:attributes": { "href": "https://api.foxycart.com/clients/42/attributes", "title": "Attributes for This Client" } }, "client_id": "client_JnVvPWxBz4Ep7YcpJFeU", "client_secret": "7dn2cmvUS5btm1S6Mfygd7vaVBuv7Cf8Fx1HKqsx", "redirect_uri": "http://example.com", "javascript_origin_uri": "", "project_name": "Example Project", "project_description": "A really cool project using the API to make awesome. Lots and lots of awesome. Oh, and money too. People like money.", "company_name": "Super amazing company", "company_url": "http://example.com", "company_logo": "", "contact_name": "John Doe", "contact_email": "john.doe@example.com", "contact_phone": "555-555-5555" }
<?xml version="1.0" encoding="UTF-8"?> <resource href="https://api.foxycart.com/clients/42" rel="https://api.foxycart.com/rels/client"> <link rel="self" href="https://api.foxycart.com/clients/42" title="Example Project"/> <link rel="https://api.foxycart.com/rels/attributes" href="https://api.foxycart.com/clients/42/attributes" title="Attributes for This Client"/> <client_id>client_JnVvPWxBz4Ep7YcpJFeU</client_id> <client_secret>7dn2cmvUS5btm1S6Mfygd7vaVBuv7Cf8Fx1HKqsx</client_secret> <redirect_uri>http://example.com</redirect_uri> <javascript_origin_uri></javascript_origin_uri> <project_name>Example Project</project_name> <project_description>A really cool project using the API to make awesome. Lots and lots of awesome. Oh, and money too. People like money.</project_description> <company_name>Super amazing company</company_name> <company_url>http://example.com</company_url> <company_logo></company_logo> <contact_name>John Doe</contact_name> <contact_email>john.doe@example.com</contact_email> <contact_phone>555-555-5555</contact_phone> </resource>
{ "class": [ "client" ], "properties": { "client_id": "client_JnVvPWxBz4Ep7YcpJFeU", "client_secret": "7dn2cmvUS5btm1S6Mfygd7vaVBuv7Cf8Fx1HKqsx", "redirect_uri": "http://example.com", "javascript_origin_uri": "", "project_name": "Example Project", "project_description": "A really cool project using the API to make awesome. Lots and lots of awesome. Oh, and money too. People like money.", "company_name": "Super amazing company", "company_url": "http://example.com", "company_logo": "", "contact_name": "John Doe", "contact_email": "john.doe@example.com", "contact_phone": "555-555-5555" }, "links": [ { "rel": [ "self" ], "href": "https://api.foxycart.com/clients/42" }, { "rel": [ "https://api.foxycart.com/rels/attributes" ], "href": "https://api.foxycart.com/clients/42/attributes" } ] }
Zoomable Resources
This resource has no linked resources which can be "zoomed" in on, filtered and embedded within this resource.