Curated for You Users API
The Users API from Curated for You — 1 operation(s) for users.
The Users API from Curated for You — 1 operation(s) for users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/curated-for-you:curated-for-you-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Curated for You Users API
description: '# API Usage Guide
## Overview
The Curated for You API provides endpoints to manage and retrieve
information authentication, curations, companies, and attributes. This
guide will help you understand how to authenticate and interact with
the API effectively. Your permissions are setup beforehand when you
join the organization, for additional permissions please contact your
customer care representative.
## Authentication
The Curated for You API uses OAuth 2.0 Bearer token
authentication. Follow these steps to authenticate your requests:
```bash
curl -X POST ''https://api.curatedforyou.io/api/v1/user/login'' \
-H ''Content-Type: application/x-www-form-urlencoded'' \
--data-urlencode ''username=your_email@example.com'' \
--data-urlencode ''password=your_password''
```
### Use the Token
After a successful login, you will receive a token. This token lasts
for 30 minutes(?). Include the received token in the Authorization header
for all subsequent requests
```bash
curl -G ''https://api.curatedforyou.io/api/v2/endpoint'' \
-H ''Authorization: Bearer ENTER_AUTH_TOKEN_HERE'' \
-H ''accept: application/json''
```
## Get Curation Products Guide
### 1. Get Company Information
Retrieve the companies you have access to:
```bash
curl -G ''https://api.curatedforyou.io/api/v2/companies'' \
-H ''Authorization: Bearer ENTER_AUTH_TOKEN_HERE'' \
-H ''accept: application/json'' \
-d ''projection=code_name'' \
-d ''projection=display_name''
```
In this example, we use projection limit our response to only
`display_name` and the `code_name`.
### 2. Get Curations
Use the found `company_id` to get the curations within that company:
```bash
curl -G ''https://api.curatedforyou.io/api/v2/curations'' \
-H ''Authorization: Bearer ENTER_AUTH_TOKEN_HERE'' \
-H ''accept: application/json'' \
-d ''company_id=ENTER_COMPANY_ID_HERE'' \
-d ''sort_by=created_at:desc'' \
-d ''limit=50'' \
-d ''offset=0'' \
-d ''projection=curation_display_name'' \
-d ''projection=curation_group_number'' \
-d ''projection=curation_description'' \
-d ''projection=export_page_url_handle'' \
-d ''projection=company_product_ids''
```
This example shows the different ways we can return information by
specifying different projections.
### 3. Get Most Recent Snapshot
After finding your specific curation we can query the snapshot that
was exported to determine what information we should be displaying.
The curation_group_number is the important id to use and the
information on how and what was exported can be found in the
`meta_data` field.
```bash
curl -G ''https://api.curatedforyou.io/api/v2/curation_snapshots'' \
-H ''Authorization: Bearer ENTER_AUTH_TOKEN_HERE'' \
-H ''accept: application/json'' \
-d ''company_id=ENTER_COMPANY_ID_HERE'' \
-d ''curation_group_number=CURATION_GROUP_NUMBER_HERE'' \
-d ''sort_by=created_at:desc'' \
-d ''limit=50'' \
-d ''offset=0'' \
-d ''projection=products'' \
-d ''projection=meta_data'' \ # <<< where the last export time is found
-d ''projection=display_name'' \
-d ''projection=created_at''
```'
version: 2.0.1
x-logo:
url: https://app.curatedforyou.io/cfy_logo.png
tags:
- name: Users
x-displayName: Users
paths:
/api/v2/users/login:
post:
summary: Login
description: 'Authenticate yourself using your CFY App credentials.
The response contains a bearer token, which you will need to provide to the **Authorization** header to make other requests in the Curation API.'
operationId: login_api_v2_users_login_post
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/Body_login_api_v2_users_login_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Token'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Users
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Body_login_api_v2_users_login_post:
properties:
username:
type: string
title: Username
default: jeffe@example.com
password:
type: string
title: Password
default: secretpassword
type: object
title: Body_login_api_v2_users_login_post
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
Token:
properties:
access_token:
type: string
title: Access Token
description: Token used to authenticate future API requests
example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2NzMwNDkxNzgsImV4cCI6MTcwNDU4NTE3OCwiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoianJvY2tldEBleGFtcGxlLmNvbSIsIkdpdmVuTmFtZSI6IkpvaG5ueSIsIlN1cm5hbWUiOiJSb2NrZXQiLCJFbWFpbCI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJSb2xlIjpbIk1hbmFnZXIiLCJQcm9qZWN0IEFkbWluaXN0cmF0b3IiXX0.Y-KnsQHFu4MV67cBTzf92jbt65ex-gQIXPBSwWz5gBM
token_type:
type: string
title: Token Type
description: Token type. Currently we only support OAuth 2.0 Bearer tokens
default: bearer
type: object
required:
- access_token
title: Token
x-provenance:
method: harvested
publisher: Curated for You
source: https://api.curatedforyou.io/api/schema.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)