Twilio Credentials API

The Credentials API from Twilio — 10 operation(s) for credentials.

Operations 24

GET /v1/Credentials/AWS #
POST /v1/Credentials/AWS #
GET /v1/Credentials/AWS/{Sid} #
POST /v1/Credentials/AWS/{Sid} #
DELETE /v1/Credentials/AWS/{Sid} #
GET /v1/Credentials/PublicKeys #
POST /v1/Credentials/PublicKeys #
GET /v1/Credentials/PublicKeys/{Sid} #
POST /v1/Credentials/PublicKeys/{Sid} #
DELETE /v1/Credentials/PublicKeys/{Sid} #
POST /v1/Credentials #
GET /v1/Credentials #
POST /v1/Credentials/{Sid} #
DELETE /v1/Credentials/{Sid} #
GET /v1/Credentials/{Sid} #
GET /v2/Credentials #
POST /v2/Credentials #
GET /v2/Credentials/{Sid} #
POST /v2/Credentials/{Sid} #
DELETE /v2/Credentials/{Sid} #
GET /Credentials/AWS Twilio List Aws Credentials #
POST /Credentials/AWS Twilio Create an Aws Credential #
GET /Credentials/PublicKeys Twilio List Public Key Credentials #
POST /Credentials/PublicKeys Twilio Create a Public Key Credential #

Documentation

Specifications

Other Resources

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/twilio-credentials-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

twilio-credentials-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Twilio Credentials API
  contact:
    name: Twilio Support
    url: https://support.twilio.com
    email: support@twilio.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://www.twilio.com/legal/tos
  version: '1.0'
  description: 'Operations tagged Credentials across 5 of this provider''s published API definitions: accounts-openapi-original.yml, conversations-openapi-original.yml, ip-message-openapi-original.yml, notify-openapi-original.yml, twilio-accounts-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://accounts.twilio.com
- url: https://conversations.twilio.com
- url: https://ip-messaging.twilio.com
- url: https://notify.twilio.com
- url: https://api.twilio.com/2010-04-01
  description: Twilio REST API v1
- url: https://accounts.twilio.com/v1
  description: Twilio Accounts API v1
tags:
- name: Credentials
paths:
  /v1/Credentials/AWS:
    servers:
    - url: https://accounts.twilio.com
    description: User provided AWS keys
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - date_created
      pathType: list
      parent: /Credentials
    get:
      description: Retrieves a collection of AWS Credentials belonging to the account used to make the request
      tags:
      - Credentials
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentialAwsResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListCredentialAws
      x-maturity:
      - GA
    post:
      description: Create a new AWS Credential
      tags:
      - Credentials
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accounts.v1.credential.credential_aws'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateCredentialAws
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCredentialAwsRequest'
  /v1/Credentials/AWS/{Sid}:
    servers:
    - url: https://accounts.twilio.com
    description: User provided AWS keys
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - date_created
      pathType: instance
      parent: /Credentials
    get:
      description: Fetch the AWS credentials specified by the provided Credential Sid
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: The Twilio-provided string that uniquely identifies the AWS resource to fetch.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accounts.v1.credential.credential_aws'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchCredentialAws
      x-maturity:
      - GA
    post:
      description: Modify the properties of a given Account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: The Twilio-provided string that uniquely identifies the AWS resource to update.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accounts.v1.credential.credential_aws'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateCredentialAws
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCredentialAwsRequest'
    delete:
      description: Delete a Credential from your account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: The Twilio-provided string that uniquely identifies the AWS resource to delete.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '204':
          description: The resource was deleted successfully.
      security:
      - accountSid_authToken: []
      operationId: DeleteCredentialAws
      x-maturity:
      - GA
  /v1/Credentials/PublicKeys:
    servers:
    - url: https://accounts.twilio.com
    description: User provided public keys
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - date_created
      pathType: list
      parent: /Credentials
      mountName: public_key
    get:
      description: Retrieves a collection of Public Key Credentials belonging to the account used to make the request
      tags:
      - Credentials
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentialPublicKeyResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListCredentialPublicKey
      x-maturity:
      - GA
    post:
      description: Create a new Public Key Credential
      tags:
      - Credentials
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accounts.v1.credential.credential_public_key'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateCredentialPublicKey
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCredentialPublicKeyRequest'
  /v1/Credentials/PublicKeys/{Sid}:
    servers:
    - url: https://accounts.twilio.com
    description: User provided public keys
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - date_created
      pathType: instance
      parent: /Credentials
      mountName: public_key
    get:
      description: Fetch the public key specified by the provided Credential Sid
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: The Twilio-provided string that uniquely identifies the PublicKey resource to fetch.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accounts.v1.credential.credential_public_key'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchCredentialPublicKey
      x-maturity:
      - GA
    post:
      description: Modify the properties of a given Account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: The Twilio-provided string that uniquely identifies the PublicKey resource to update.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accounts.v1.credential.credential_public_key'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateCredentialPublicKey
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCredentialPublicKeyRequest'
    delete:
      description: Delete a Credential from your account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: The Twilio-provided string that uniquely identifies the PublicKey resource to delete.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '204':
          description: The resource was deleted successfully.
      security:
      - accountSid_authToken: []
      operationId: DeleteCredentialPublicKey
      x-maturity:
      - GA
  /v1/Credentials:
    servers:
    - url: https://conversations.twilio.com
    description: A Credential resource represents a push notification credential.
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - type
      pathType: list
    post:
      description: Add a new push notification credential to your account
      tags:
      - Credentials
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/conversations.v1.credential'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateCredential
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCredentialRequest'
    get:
      description: Retrieve a list of all push notification credentials on your account
      tags:
      - Credentials
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentialResponse'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListCredential
      x-maturity:
      - GA
  /v1/Credentials/{Sid}:
    servers:
    - url: https://conversations.twilio.com
    description: A Credential resource represents a push notification credential.
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - type
      pathType: instance
    post:
      description: Update an existing push notification credential on your account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: A 34 character string that uniquely identifies this resource.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/conversations.v1.credential'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateCredential
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCredentialRequest'
    delete:
      description: Remove a push notification credential from your account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: A 34 character string that uniquely identifies this resource.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '204':
          description: The resource was deleted successfully.
      security:
      - accountSid_authToken: []
      operationId: DeleteCredential
      x-maturity:
      - GA
    get:
      description: Fetch a push notification credential from your account
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: A 34 character string that uniquely identifies this resource.
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/conversations.v1.credential'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchCredential
      x-maturity:
      - GA
  /v2/Credentials:
    servers:
    - url: https://ip-messaging.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - type
      pathType: list
    get:
      description: ''
      tags:
      - Credentials
      parameters:
      - name: PageSize
        in: query
        description: How many resources to return in each list page. The default is 50, and the maximum is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: Page
        in: query
        description: The page index. This value is simply for client state.
        schema:
          type: integer
          minimum: 0
      - name: PageToken
        in: query
        description: The page token. This is provided by the API.
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCredentialResponse_2'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: ListCredential
      x-maturity:
      - GA
    post:
      description: ''
      tags:
      - Credentials
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ip_messaging.v2.credential'
          description: Created
      security:
      - accountSid_authToken: []
      operationId: CreateCredential
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCredentialRequest_2'
  /v2/Credentials/{Sid}:
    servers:
    - url: https://ip-messaging.twilio.com
    description: 'TODO: Resource-level docs'
    x-twilio:
      defaultOutputProperties:
      - sid
      - friendly_name
      - type
      pathType: instance
    get:
      description: ''
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: ''
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ip_messaging.v2.credential'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: FetchCredential
      x-maturity:
      - GA
    post:
      description: ''
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: ''
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ip_messaging.v2.credential'
          description: OK
      security:
      - accountSid_authToken: []
      operationId: UpdateCredential
      x-maturity:
      - GA
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCredentialRequest_2'
    delete:
      description: ''
      tags:
      - Credentials
      parameters:
      - name: Sid
        in: path
        description: ''
        schema:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
        required: true
      responses:
        '204':
          description: The resource was deleted successfully.
      security:
      - accountSid_authToken: []
      operationId: DeleteCredential
      x-maturity:
      - GA
  /Credentials/AWS:
    get:
      operationId: listAwsCredentials
      summary: Twilio List Aws Credentials
      tags:
      - Credentials
      responses:
        '200':
          description: List of AWS credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsCredentialList'
      security:
      - accountSid_authToken: []
    post:
      operationId: createAwsCredential
      summary: Twilio Create an Aws Credential
      tags:
      - Credentials
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - Credentials
              properties:
                Credentials:
                  type: string
                  description: AWS access key ID and secret access key
                FriendlyName:
                  type: string
                AccountSid:
                  type: string
      responses:
        '201':
          description: AWS credential created
      security:
      - accountSid_authToken: []
    servers:
    - url: https://api.twilio.com/2010-04-01
      description: Twilio REST API v1
    - url: https://accounts.twilio.com/v1
      description: Twilio Accounts API v1
  /Credentials/PublicKeys:
    get:
      operationId: listPublicKeys
      summary: Twilio List Public Key Credentials
      tags:
      - Credentials
      responses:
        '200':
          description: List of public key credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicKeyList'
      security:
      - accountSid_authToken: []
    post:
      operationId: createPublicKey
      summary: Twilio Create a Public Key Credential
      tags:
      - Credentials
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - PublicKey
              properties:
                PublicKey:
                  type: string
                  description: DER-encoded public key
                FriendlyName:
                  type: string
                AccountSid:
                  type: string
      responses:
        '201':
          description: Public key created
      security:
      - accountSid_authToken: []
    servers:
    - url: https://api.twilio.com/2010-04-01
      description: Twilio REST API v1
    - url: https://accounts.twilio.com/v1
      description: Twilio Accounts API v1
components:
  schemas:
    UpdateCredentialPublicKeyRequest:
      type: object
      properties:
        FriendlyName:
          type: string
          description: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
    ListCredentialPublicKeyResponse:
      type: object
      properties:
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/accounts.v1.credential.credential_public_key'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    accounts.v1.credential.credential_public_key:
      type: object
      properties:
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
          description: The unique string that that we created to identify the PublicKey resource.
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Credential that the PublicKey resource belongs to.
        friendly_name:
          type:
          - string
          - 'null'
          description: The string that you assigned to describe the resource.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 0
        date_created:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
        date_updated:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URI for this resource, relative to `https://accounts.twilio.com`
    CreateCredentialPublicKeyRequest:
      type: object
      required:
      - PublicKey
      properties:
        PublicKey:
          type: string
          description: A URL encoded representation of the public key. For example, `--BEGIN PUBLIC KEY--MIIBIjANB.pa9xQIDAQAB--END PUBLIC KEY--`
        FriendlyName:
          type: string
          description: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        AccountSid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request
    CreateCredentialAwsRequest:
      type: object
      required:
      - Credentials
      properties:
        Credentials:
          type: string
          description: A string that contains the AWS access credentials in the format `<AWS_ACCESS_KEY_ID>:<AWS_SECRET_ACCESS_KEY>`. For example, `REDACTED_AWS_ACCESS_KEY_ID:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`
        FriendlyName:
          type: string
          description: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        AccountSid:
          type: string
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request.
    accounts.v1.credential.credential_aws:
      type: object
      properties:
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
          description: The unique string that we created to identify the AWS resource.
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the AWS resource.
        friendly_name:
          type:
          - string
          - 'null'
          description: The string that you assigned to describe the resource.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 0
        date_created:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
        date_updated:
          type:
          - string
          - 'null'
          format: date-time
          description: The date and time in GMT when the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
        url:
          type:
          - string
          - 'null'
          format: uri
          description: The URI for this resource, relative to `https://accounts.twilio.com`
    UpdateCredentialAwsRequest:
      type: object
      properties:
        FriendlyName:
          type: string
          description: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
    ListCredentialAwsResponse:
      type: object
      properties:
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/accounts.v1.credential.credential_aws'
        meta:
          type: object
          properties:
            first_page_url:
              type: string
              format: uri
            next_page_url:
              type:
              - string
              - 'null'
              format: uri
            page:
              type: integer
            page_size:
              type: integer
            previous_page_url:
              type:
              - string
              - 'null'
              format: uri
            url:
              type: string
              format: uri
            key:
              type: string
    credential_enum_push_type:
      type: string
      enum:
      - apn
      - gcm
      - fcm
    CreateCredentialRequest:
      type: object
      required:
      - Type
      properties:
        Type:
          type: string
          $ref: '#/components/schemas/credential_enum_push_type'
          description: 'The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`.'
        FriendlyName:
          type: string
          description: A descriptive string that you create to describe the new resource. It can be up to 64 characters long.
        Certificate:
          type: string
          description: "[APN only] The URL encoded representation of the certificate. For example, \n`--BEGIN CERTIFICATE-- MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n--END CERTIFICATE--`."
        PrivateKey:
          type: string
          description: '[APN only] The URL encoded representation of the private key. For example,

            `--BEGIN RSA PRIVATE KEY-- MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...

            --END RSA PRIVATE KEY--`.'
        Sandbox:
          type: boolean
          description: '[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.'
        ApiKey:
          type: string
          description: '[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.'
        Secret:
          type: string
          description: '[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging.'
    conversations.v1.credential:
      type: object
      properties:
        sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^CR[0-9a-fA-F]{32}$
          description: A 34 character string that uniquely identifies this resource.
        account_sid:
          type:
          - string
          - 'null'
          minLength: 34
          maxLength: 34
          pattern: ^AC[0-9a-fA-F]{32}$
          description: The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this credential.
        friendly_name:
          type:
          - string
          - 'null'
          description: The human-readable name of this credential, limited to 64 characters. Optional.
          x-twilio:
            pii:
              handling: standard
              deleteSla: 30
        type:
          type:
          - string
          - 'null'
          $ref: '#/components/schemas/credential_enum_push_type'
          description: 'The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`.'
        sandbox:
          type:
          - string
          - 'null'
          description: '[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.'
        date_created:
          type:
          - string
          - 'null'
          format: date-time
          description: The date that this resource was created.
        date_updated:
          type:
          - string
          - 'null'
          format: date-time
          description: The date that this resource was last updated.
        url:
          type:
          - string
          - 'null'
          format: uri
          description: An absolute API resource URL for this credential.
    UpdateCredentialRequest:
      type: object
      properties:
        Type:
          type: string
          $ref: '#/components/schemas/credential_enum_push_type'
          description: 'The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`.'
        FriendlyName:
          type: string
          description: A descriptive string that you create to describe the new resource. It can be up to 64 characters long.
        Certificate:
          type: string
          description: "[APN only] The URL encoded representation of the certificate. For example, \n`--BEGIN CERTIFICATE-- MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n--END CERTIFICATE--`."
        PrivateKey:
          type: string
          description: '[APN only] The URL encoded representation of the private key. For example,

            `--BEGIN RSA PRIVATE KEY-- MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...

            --END RSA PRIVATE KEY--`.'
        Sandbox:
          type: boolean
          description: '[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production.'
        ApiKey:
          type: string
          description: '[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.'
        Secret:
          type: string
          description: '[FCM only] The **Server k

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/openapi/twilio-credentials-api-openapi.yml