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

# Retrieve the current key or connection

> Returns the key or app connection used for this request: its scopes, and which teams and forms it can access. Handy to check what a credential is allowed to do.



## OpenAPI

````yaml https://api.formcarry.com/docs-json get /v1/me
openapi: 3.0.0
info:
  title: formcarry API
  description: >-
    Welcome to the formcarry API.


    Authenticate every request with an API key from your team's API page in the
    dashboard, sent as `Authorization: Bearer fc_live_...`.

    Requests and responses are JSON.


    Lists are paginated with a cursor: pass a response's `next_cursor` as
    `cursor` to get the next page, until `next_cursor` is null.


    Errors return a `code` you can act on and a `message` you can show. Every
    response includes an `X-Request-Id` header; quote it when you contact
    support.
  version: '1'
  contact: {}
servers:
  - url: https://api.formcarry.com
security: []
tags:
  - name: forms
    description: Your forms
  - name: submissions
    description: Submissions received by a form
  - name: me
    description: The key you are using
  - name: health
    description: Service status
paths:
  /v1/me:
    get:
      tags:
        - me
      summary: Retrieve the current key or connection
      description: >-
        Returns the key or app connection used for this request: its scopes, and
        which teams and forms it can access. Handy to check what a credential is
        allowed to do.
      operationId: MeController_me
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeResponse'
        '401':
          description: The request carried no usable key or token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                missing_bearer:
                  summary: missing_bearer
                  value:
                    error:
                      type: authentication_error
                      code: missing_bearer
                      message: >-
                        Send your key as "Authorization: Bearer fc_live_..." on
                        every request.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
                invalid_key:
                  summary: invalid_key
                  value:
                    error:
                      type: authentication_error
                      code: invalid_key
                      message: >-
                        This API key or access token is unknown, revoked or
                        expired.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
                wrong_audience:
                  summary: wrong_audience
                  value:
                    error:
                      type: authentication_error
                      code: wrong_audience
                      message: >-
                        This access token was issued for a different resource.
                        Authorize again for this server.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
        '403':
          description: The key is valid but may not do this.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                insufficient_scope:
                  summary: insufficient_scope
                  value:
                    error:
                      type: permission_error
                      code: insufficient_scope
                      message: This key is missing the submissions:write scope.
                      required:
                        - submissions:write
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
                form_access_restricted:
                  summary: form_access_restricted
                  value:
                    error:
                      type: permission_error
                      code: form_access_restricted
                      message: >-
                        This key is restricted to specific forms and cannot
                        create new ones.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
                team_inactive:
                  summary: team_inactive
                  value:
                    error:
                      type: permission_error
                      code: team_inactive
                      message: The team that owns this key is not active.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
                owner_unverified:
                  summary: owner_unverified
                  value:
                    error:
                      type: permission_error
                      code: owner_unverified
                      message: >-
                        The team owner must verify their email address before
                        the API can be used.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
        '429':
          description: Slow down and retry after the Retry-After header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                rate_limited:
                  summary: rate_limited
                  value:
                    error:
                      type: rate_limit_error
                      code: rate_limited
                      message: Too many requests.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
                scan_concurrency:
                  summary: scan_concurrency
                  value:
                    error:
                      type: rate_limit_error
                      code: scan_concurrency
                      message: >-
                        At most 2 filtered submission requests may run at once
                        per key. Wait for the running ones to finish.
                      request_id: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
      security:
        - api_key: []
components:
  schemas:
    MeResponse:
      type: object
      properties:
        type:
          type: string
          enum:
            - key
            - app
          description: 'key: an API key; app: an OAuth connection'
        key:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/MeKey'
        app:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/MeApp'
        scopes:
          description: Union of the per-team scopes
          type: array
          items:
            type: string
        teams:
          description: Every team this credential can act on, with its own scopes
          type: array
          items:
            $ref: '#/components/schemas/MeTeam'
      required:
        - type
        - key
        - app
        - scopes
        - teams
    ErrorEnvelope:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
      required:
        - error
    MeKey:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        prefix:
          type: string
          example: fc_live_1pcvCQca
        last4:
          type: string
        kind:
          type: string
          enum:
            - standard
            - legacy
          description: >-
            standard: made on the API keys page. legacy: the team's original
            key, kept working under the same secret.
      required:
        - id
        - name
        - prefix
        - last4
        - kind
    MeApp:
      type: object
      properties:
        id:
          type: string
          description: OAuth client id
        name:
          type: string
      required:
        - id
        - name
    MeTeam:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        scopes:
          example:
            - forms:read
            - submissions:read
          type: array
          items:
            type: string
        form_access:
          $ref: '#/components/schemas/MeFormAccess'
      required:
        - id
        - name
        - scopes
        - form_access
    ErrorBody:
      type: object
      properties:
        type:
          type: string
          enum:
            - authentication_error
            - permission_error
            - invalid_request_error
            - rate_limit_error
            - api_error
          example: invalid_request_error
        code:
          type: string
          example: invalid_parameter
        message:
          type: string
          example: limit must not be greater than 100
        param:
          type: string
          description: The offending parameter, when there is one
          example: limit
        required:
          description: >-
            On insufficient_scope: the scopes the request needs. Reissue the key
            with them.
          example:
            - submissions:write
          type: array
          items:
            type: string
        retry_after:
          type: number
          description: 'On scan_concurrency: seconds to wait before trying again.'
          example: 2
        request_id:
          type: string
          description: Echoes X-Request-Id. Quote it when contacting support.
          example: 2f9c1a7e-5b31-4d2e-9c0a-8e7f6d5c4b3a
      required:
        - type
        - code
        - message
        - request_id
    MeFormAccess:
      type: object
      properties:
        mode:
          type: string
          enum:
            - all
            - list
          description: 'all: every form of the team. list: only the forms listed in forms.'
        forms:
          description: The forms this key is limited to, when mode is list
          type: array
          items:
            type: string
      required:
        - mode
        - forms
  securitySchemes:
    api_key:
      scheme: bearer
      bearerFormat: fc_live_...
      type: http

````

## Related topics

- [Retrieve a submission](/docs/api-reference/submissions/retrieve-a-submission.md)
- [Retrieve a webhook](/docs/api-reference/forms/retrieve-a-webhook.md)
- [Retrieve a delivery](/docs/api-reference/forms/retrieve-a-delivery.md)
- [Retrieve a form](/docs/api-reference/forms/retrieve-a-form.md)
- [Automate Form Submissions with Zapier](/docs/integrations/zapier.md)
