Connections Me API
The Me API from Connections — 5 operation(s) for me.
The Me API from Connections — 5 operation(s) for me.
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/connections-icu:connections-icu-me-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Connections Icu Me API
version: 1.0.0
description: 'Operations tagged Me across 6 of this provider''s published API definitions: connections-icu-accounts-openapi-original.json, connections-icu-product-openapi-original.json, connections-icu-studio-openapi-original.json, connections-icu-accounts-openapi.yml, connections-icu-product-openapi.yml, connections-icu-studio-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://accounts.connectionsapi.com
- url: https://api.connectionsapi.com/v1
- url: https://studio.connectionsapi.com
tags:
- name: Me
paths:
/v1/me/profile:
get:
operationId: accounts_get_my_profile
summary: Read the signed-in member's profile
description: 'Requires the member''s AEGIS bearer, or a cnx_live_ key they minted holding the scope this operation names. Returns their display name, handle, ''about you'' bio, profile photo (with its stored alt-text description - a URL alone is useless to a text model), and social-media links, exactly as they wrote them. Call this before drafting anything written in the member''s own voice or about them personally - a dating profile, an ''about the creator'' or ''about the sponsor'' section, a founder bio, an introduction - and draft FROM their existing words rather than inventing a persona. DEGRADED DATA: a caller with no identity row yet gets the EMPTY shape (bio: "", every other field null) rather than a 404 - ''you have not written a bio yet'' is useful for a caller to say; a bare error is not. ⛔ Never carries email or phone: Accounts is the sole holder of both, and this projection names its columns rather than selecting the underlying view whole specifically so they can never reach here.'
security:
- cnxKey: []
- memberSession: []
x-required-scope: profile:read
x-agent-tool: accounts__get_my_profile
x-connections-principals:
- assistant
responses:
'200':
description: 'The member''s profile: { name, handle, bio, imageUrl, imageDescription, socialLinks[] }'
'401':
description: Missing or invalid bearer.
'403':
description: insufficient_scope - a key without the scope this operation names, or a key bound to a workspace.
'404':
description: no_account - the bearer is valid but resolves to no accounts identity row.
tags:
- Me
servers:
- url: https://accounts.connectionsapi.com
/v1/me/addresses:
get:
operationId: accounts_list_my_addresses
summary: List the signed-in member's saved postal addresses
description: 'Requires the member''s AEGIS bearer, or a cnx_live_ key they minted holding the scope this operation names. Returns every postal address the member has saved on their account, each with its label (home, work, or other) and its full formatted text. Call this when a draft needs a real-world address the member has already given us - a shipping profile, a backer-reward delivery default, a venue or pickup address, a billing address on a form - so a caller can offer the saved address instead of asking them to type it again. DEGRADED DATA: this reuses the same contact-book reader My Account uses, which also carries every email and phone on the account - this projection drops that half on purpose and returns ADDRESSES ONLY; it will never widen to include contact methods.'
security:
- cnxKey: []
- memberSession: []
x-required-scope: profile:read
x-agent-tool: accounts__list_my_addresses
x-connections-principals:
- assistant
responses:
'200':
description: 'The member''s saved addresses: { addresses: [{ id, label, address }] }'
'401':
description: Missing or invalid bearer.
'403':
description: insufficient_scope - a key without the scope this operation names, or a key bound to a workspace.
'404':
description: no_account - the bearer is valid but resolves to no accounts identity row.
tags:
- Me
post:
operationId: accounts_save_my_address
summary: Save an address to the signed-in member's account
description: 'Requires the member''s AEGIS bearer, or a cnx_live_ key they minted holding the scope this operation names. Saves one postal address to the member''s address book, labeled home, work, or other - the same book and the same checks My Account uses. home and work hold one address each, so saving one replaces the old one; other adds another. Call this when the member says where they live or work, or asks you to remember a place, so a later search near home or a drive time can start from it without asking again. Answers the saved addresses afterwards, ADDRESSES ONLY (never an email or phone). REFUSED (400): a label that is not home, work or other, a blank address, or a full address book - the sentence says which.'
security:
- cnxKey: []
- memberSession: []
x-required-scope: profile:write
x-agent-tool: accounts__save_my_address
x-connections-principals:
- assistant
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
label:
type: string
enum:
- home
- work
- other
description: home, work, or other.
address:
type: string
description: The full address, such as 12 Oak St, Austin, TX 78701.
required:
- label
- address
additionalProperties: false
responses:
'200':
description: 'The member''s saved addresses, the new one included: { addresses: [{ id, label, address }] }'
'400':
description: '{ error } - not saved: the label, a blank address, or a full book; the sentence says which.'
'401':
description: Missing or invalid bearer.
'403':
description: insufficient_scope - a key without the scope this operation names, or a key bound to a workspace.
'404':
description: no_account - the bearer is valid but resolves to no accounts identity row.
tags:
- Me
servers:
- url: https://accounts.connectionsapi.com
/v1/me/time-zone:
post:
operationId: accounts_set_my_time_zone
summary: Set the signed-in member's time zone
description: 'Requires the member''s AEGIS bearer, or a cnx_live_ key they minted holding the scope this operation names. Sets the member''s time zone on their account - the one zone Connections plans their day in; Accounts owns it and every other plane asks for it rather than keeping a copy. `timeZone` is an IANA name such as America/Chicago; it is stored in its canonical spelling, which the response echoes. Call this when the member says where they are or which time zone they are in. REFUSED (400): a name that is not an IANA zone (a city, a country, an offset like +05:00, Etc/Unknown) or a blank one - this operation only ever SETS a zone; the member clears theirs in My Account.'
security:
- cnxKey: []
- memberSession: []
x-required-scope: profile:write
x-agent-tool: accounts__set_my_time_zone
x-connections-principals:
- assistant
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
timeZone:
type: string
description: An IANA time zone name, such as America/Chicago or Europe/Paris.
x-setting:
id: accounts.time_zone
label: Time zone
synonyms:
- my timezone
- change time zone
- what time zone am I in
- local time
scope: account
group: Personal info
required:
- timeZone
additionalProperties: false
responses:
'200':
description: '{ timeZone } - the canonical IANA name now stored on the account.'
'400':
description: '{ error } - not a time zone, or none given; the sentence says which and names a valid example.'
'401':
description: Missing or invalid bearer.
'403':
description: insufficient_scope - a key without the scope this operation names, or a key bound to a workspace.
'404':
description: no_account - the bearer is valid but resolves to no accounts identity row.
tags:
- Me
servers:
- url: https://accounts.connectionsapi.com
/me:
get:
summary: Who this credential is
description: 'Friendly identity alias of /auth/introspect: returns the same credential introspection document (owner/actor profile IDs, scopes, capabilities, rules) so a key gets the same "who am I" answer on every plane (Studio also serves /v1/me).'
responses:
'200':
description: Credential introspection document.
content:
application/json:
schema:
$ref: '#/components/schemas/IntrospectionResponse'
'401':
description: Missing or invalid credential.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Me
security:
- ApiKey: []
- OAuth2: []
operationId: getMe
x-operation-id-source: derived
servers:
- url: https://api.connectionsapi.com/v1
/v1/me:
get:
summary: Who this credential is ({sub, name, email, picture, via}). Any session or key
security:
- aegisBearer: []
- apiKey: []
tags:
- Me
operationId: getV1Me
x-operation-id-source: derived
servers:
- url: https://studio.connectionsapi.com
components:
schemas:
IntrospectionResponse:
type: object
description: Result of GET /v1/auth/introspect. Describes the current credential, the scopes it carries, and the capabilities (paths + methods) it can call. Agents should call this once before issuing other API calls.
required:
- schemaVersion
- status
- credentialType
- scopes
- capabilities
- docs
- auth
- rules
properties:
schemaVersion:
type: string
status:
type: string
enum:
- active
credentialType:
type: string
enum:
- api_key
- oauth_token
- user_session
actorProfileId:
type:
- string
- 'null'
ownerProfileId:
type:
- string
- 'null'
scopes:
type: array
items:
type: string
capabilities:
type: array
items:
type: object
properties:
id:
type: string
title:
type: string
summary:
type: string
requiredScopes:
type: array
items:
type: string
methods:
type: array
items:
type: string
paths:
type: array
items:
type: string
docs:
type: object
properties:
humanUrl:
type: string
openApiUrl:
type: string
introspectUrl:
type: string
auth:
type: object
properties:
acceptedHeaders:
type: array
items:
type: string
rules:
type: array
items:
type: string
ErrorResponse:
type: object
description: Standard error payload returned by the Connections Developer API.
required:
- error
properties:
error:
type: string
securitySchemes:
memberSession:
type: http
scheme: bearer
description: The member's Connections session access token, exactly as this product's app sends it. Only operations that declare this scheme accept one.
x-connections-credential: member-session
cnxKey:
type: http
scheme: bearer
description: A cnx_live_ key minted in Studio. It acts as the member who minted it, within its scopes.
x-connections-credential: connections-key
BearerAuth:
type: http
scheme: bearer
description: 'The member''s AEGIS session access token - the same bearer every other accounts.connections member route accepts (Authorization: Bearer <token>). Only the three member twins (profile, addresses, time zone) also take a scoped cnx_live_ key, under the cnxKey scheme.'
x-connections-credential: member-session
ApiKey:
type: http
scheme: bearer
description: A Connections admin's API key or session token, for the Sue reaper's identity read only.
x-connections-credential: connections-key
OAuth2:
type: http
scheme: bearer
description: Connections OAuth access token.
x-connections-credential: oauth-access-token
aegisBearer:
type: http
scheme: bearer
bearerFormat: JWT
description: The AEGIS SSO access token (Cognito JWT from the shared sign-in) presented as a Bearer on every /v1 call.
apiKey:
type: http
scheme: bearer
bearerFormat: cnx_live_* | cnx_pub_*
description: 'A key minted in the console, sent as a bearer token. `cnx_live_` carries cross-plane data scopes AND (when granted) Studio management scopes (apps:*, keys:*, projects:*, webhooks:*) that authorize the console-management operations below. `cnx_pub_` is the publishable, browser-safe tier (Stripe''s pk_ model): mint-time capped to :read scopes, requires a non-empty allowed-origins allowlist, refused on any non-GET/HEAD route, and rate-limited - safe to embed in client-side code.'
oauthUserToken:
type: http
scheme: bearer
description: EITHER (a) a Sign-in-with-Connections USER access token issued by accounts.connectionsapi.com to a registered OAuth app - the app acts on behalf of its signed-in user, rows are keyed by the token's own sub + client_id; OR (b) an app-bound publishable key (cnx_pub_, minted with an appId) presented on X-Connections-Api-Key ALONGSIDE the signed-in user's own plain AEGIS bearer on Authorization - the server derives (app_id, sub) from the two verified credentials. The publishable key alone authorizes nothing; both credentials are required. This second form is for a developer who wants the locker without standing up a full OAuth client - mint one publishable key bound to a registered app instead.
x-refined-from:
- connections-icu-accounts-openapi-original.json
- connections-icu-product-openapi-original.json
- connections-icu-studio-openapi-original.json
- connections-icu-accounts-openapi.yml
- connections-icu-product-openapi.yml
- connections-icu-studio-openapi.yml