> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goliathdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Account API

> Read and update your own profile and get integration setup links

## About

Read and update the profile of the user who owns the API key — name, email, and
phone number — and get the in-app links a human uses to connect email or set up
phone/Twilio. Everything here operates on the calling key's own account; there
are no cross-user ids.

All operations go through the developer API gateway — one endpoint, called by
`operationId`. If you haven't set up a key yet, start with the
[Developer API Overview](/developer-api/overview).

## Operations

### Reading your account (`READ` scope)

| operationId               | What it does                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `getIntegrationSetupUrls` | In-app settings page URLs where a human connects an email account (Google/Microsoft) or sets up Twilio phone numbers for calling/SMS. Send the user the matching link to complete these flows in the app.                                                                                                                                                                                                                                                                                       |
| `getMyProfile`            | Fetch the key owner's own profile — name, email, and phone number. Use it to read current values before `updateMyProfile`.                                                                                                                                                                                                                                                                                                                                                                      |
| `getMyCapabilities`       | The key owner's own permissions — the capabilities they **hold** (a missing one is one they do not have). Six exist: three opt-in, off unless a team admin granted them (`VIEW_ALL_CONTACTS`, `VIEW_ALL_DEALS`, `VIEW_ALL_PHONES`), and three opt-out, on unless revoked (`CAN_SKIPTRACE`, `CAN_EXPORT`, `CAN_WORKFLOW`). Team admins hold all six. Check this before attempting a gated action; an empty list means none are held, while a null list means the lookup failed and says nothing. |

### Writing your account (`WRITE` scope)

| operationId       | What it does                                                                                                                                                                                                                                                                                        |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `updateMyProfile` | Update the key owner's own profile. `firstName`, `lastName`, and `phoneNumber` are all required together — send the current values for fields you aren't changing (read them with `getMyProfile`). Phone is normalized and must be unique; email is not editable here. Returns the updated profile. |

<Note>
  **Your account**

  These operations act on the calling key's own user and profile. There is no
  caller-supplied entity id and no cross-user access — the subject is always the
  key owner, derived from the key.
</Note>

## Example

Read the current profile:

```bash theme={null}
curl -X POST https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer gsk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "operationId": "getMyProfile", "variables": {} }'
```

Full variable schemas, response shapes, and worked examples for every
operation are available from the
[discovery endpoint](/developer-api/overview#discovering-operations).
