Curated for You Users API

The Users API from Curated for You — 1 operation(s) for users.

Operations 1

POST /api/v2/users/login Login #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/curated-for-you:curated-for-you-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

curated-for-you-users-api-openapi.yml Raw ↑
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)